Muradiye Forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Aşağa gitmek
BaRaN
BaRaN

ASP De Dosya Sistemi Nesnesi 1210
Erkek Yay
Yılan
Mesaj Sayısı : 873
Doğum tarihi : 02/12/89
Yaş : 34
Nerden : güneşin doğduğu yer(DOĞUBEYAZIT)
İş/Hobi : cep telefonu
Bilgi : <center><font color="blue"><marquee direction="left" style="background:white">Muradiye Forum Bilgi Paylaşım Platformu</marquee></font></center
Rep Gücü : 0
Rep Puan : 8
Kayıt tarihi : 20/12/08
http://muradiyeforum.net

ASP De Dosya Sistemi Nesnesi Empty ASP De Dosya Sistemi Nesnesi

Paz Ara. 28, 2008 4:19 pm
Dosya Sistemi Nesnesi (FileSystemObject), ASP
programının, Web Sunucusunun sabit disk sisteminde, sürücüleri,
klasörleri ve dosyaları yönetmekte kullanacağımız temel araçtır.
Burada, ne denli güçlü bir araçtan söz ettiğimizi hemen görebilmek için
şu kodu yazalım ve dosya_yaz.asp adıyla kaydedelim:


asp:
<% Option Explicit %>


ASP ILE DOSYA YAZMA
<**** http-e****="content-type" *********"text/html; charset=ISO-8859-9">
<**** http-e****="Content-Type" *********"text/html; charset=windows-1254">


<%
Dim YaziFSO, yaz
Set YaziFSO = CreateObject("scripting.FileSystemObject")
Set yaz = YaziFSO.CreateTextFile("c:yazi_deneme.txt",True)
yaz.WriteLine("Bu bir denemedir.")
yaz.Close
%>

Bu Web sayfası sabit diske yazı yazdırır!!

Şimdi C: sürücüsünde yazi_deneme.txt adlı bir dosya olması gerekir!

Lütfen bakar mısınız?






Kodumuzun Dim satırında iki değişken belirlediğimizi görüyorsunuz.
Fakat bu iki değişkeni sistem nesnesi olan scripting’in yeni bir olgusu
olarak kullanacağımız için daha önce standart değişkenlere değer
atadığımız gibi değil, fakat Set komutundan yararlanıyoruz, ve YaziFSO
değişkeninde bir “scripting.FileSystemObject” nesnesi oluşturulmasını
sağlıyoruz. (ASP uzmanları arasında gelenek, nesne değeri tutan
değişkenlere, ilgili nesnenin baş harflerini eklemektir. Böylece bir
değişkenin adına bakarak, işlevini anlamak mümkün olur.)
“yaz” değişkeni YaziFSO’da yeni bir olgusunu oluşturduğumuz
FileSystemObject’in CreateTextFile (Düzyazı dosyası oluştur) metodunu
kullanıyoruz; bu metod oluşturulacak dosyanın adını ve eğer bu dosya
varsa üzerine yazılmasına izin veren True (doğru) veya buna izin
vermeyen False (yanlış) kelimesini argüman olarak alır. “yaz” değişkeni
şimdi kendisi bir metod kullanabilecek şekilde, FileSystemObject’in bir
örneğidir; nitekim WriteLine metodu ile biraz önce oluşturulan dosyaya,
argüman olarak verdiğimiz metni yazdırmaktadır. Bu kodu çalıştırdıktan
sonra, sabit diskinize bakarsanız, düzyazı dosyasını göreceksiniz:
Bugüne kadar Web tekniği olarak Browser’da bir sayfayı
görüntüleyebileceğimizi sanıyor idiysek, sistem nesneleri kullanarak
çok daha farklı şeyler yapabileceğimizi görmüş olduk. Şimdi
FileSystemObject’i daha yakından tanıyabiliriz.
Bu nesne bize sabit diske erişme ve onun kaynaklarını kullanma imkanı
verir. Bütün nesneler gibi kullanılabilmesi için önce bir değişkenin
bünyesinde oluşturulması gerekir:


asp:
<%
Dim DosyaSistemi
Set DosyaSistemi = CreateObject(“scripting.FileSystemObject”)
%>


Dosya Sistemi Nesnesi’nin 20’den fazla metodu vardır; fakat bunlardan önemlileri şöyle sıralanabilir:
CopyFile (dosya kopyala), MoveFile (Dosya taşı), CopyFolder (klasör
kopyala), MoveFolder (klasör taşı), Create Folder (klasör oluştur),
DeleteFile (dosya sil), DeleteFolder (klasör sil).
Şimdi bunlardan birinin nasıl kullanılabileceğine bir örnek verelim:


asp:
<%
Dim DosyaSistemi
Set DosyaSistemi = CreateObject(“scripting.FileSystemObject”)
DosyaSistemi.DeleteFile “c:belgelerimtest.*”
%>


Bu program ile “Belgelerim” klasöründeki “test” isimli bütün dosyaları
silmiş olursunuz. (Bu programı çalıştırmadan önce bir kaç kez
düşünmeniz, sanırım iyi olur; çünkü ASP yoluyla sildiğiniz dosyalar,
Geri Dönüşüm Kutusu’na gitmez!) Daha az zararlı bir diğer örnek ise
şöyle olabilir:


asp:
<%
Dim DosyaSistemi
Set DosyaSistemi = CreateObject(“scripting.FileSystemObject”)
DosyaSistemi.CopyFile “c:belgelerim*.*”, “c:yedekler”
%>


Bu program “Belgelerim” dizinindeki bütün dosyaları “Yedekler” dizinine kopyalar.
FileSystemObject’in sadece bir özelliği (Property) vardır: Drives
(sürücüler). Fakat bu özellik, bir değil bir çok elemandan oluşan bir
dizi-değişken gibi Kolleksiyon (Collection) sayılır. Nede? Çünkü bir
Web Server’da birden çok sürücü bulunur. Her sürücü, bu kolleksiyonun
üyesidir (FileSystem.Drives) ve her birinin sürücü harfi
(.DriveLetter), disk adı (.VolumeName), byte olarak boş alanı
(.FreeSpace) özellikleri vardır. suruculer.asp adıyla kaydedeceğiniz şu
program, denediğiniz sistemin disk-disket-CD-ROM durumunu size
listeleyecektir.


asp:
<% Option Explicit %>


ASP ILE SÜRÜCÜ KOLLEKSİYONU
<**** http-e****="content-type" *********"text/html; charset=ISO-8859-9">
<**** http-e****="Content-Type" *********"text/html; charset=windows-1254">


<%
Dim DosyaSistemi, Surucu, Suruculer
Set DosyaSistemi = CreateObject("scripting.FileSystemObject")
Set Suruculer = DosyaSistemi.Drives
For Each Surucu In Suruculer
%>
Sürücü: <%=Surucu.DriveLetter%>

<% If Surucu.IsReady = True Then%>
Disk Adı: <%=Surucu.VolumeName%>

Boş alan: <%=Surucu.FreeSpace%>

<% Else %>
Sürücü hazır değil!

<% End If
Next %>




Burada özelliklerini ve metodlarını DosyaSistemi adlı değişkene
atadığımız Dosya suistemi Nesnesi’nin sürücüler kolleksiyonunun
dizi-değişken gibi olduğunu söylemiştik. For..Next akış kontrolü ile bu
kolleksiyonun bütün üyelerinin sırayla sürücü harfi, ve hazırsa disk
adı ve boş alanı bilgilerini alıyoruz. Drives kolleksiyonunun diğer
özellikleri arasında toplam yüzey genişliği (TotalSize), sürücü türü
(DriveType; 0=bilinmiyor; 1=çıkartılabilir; 2=sabit; 3=ağ; 4=CD-ROM; 5=
RAM-Drive), ve dosya sistemi (FileSystem; FAT, NTFS, CDFS), kök dizin
(RootFolder) vardır. Bu program bir PWS’da çalıştığında, şu sonucu
alıyoruz:

VBscript açısından, her sürücüde klasörler (Folders) ve onların içinde
alt-klasör (Subfolders) ve dosya (Files) kolleksiyonları bulunur. (Her
klasörün içinde içinde bir alt-klasör nesnesi bulunduğu için ASP ile
sonsuza kadar bütün klasörlere gönderme yapabilirsiniz. Klasör
nesnesinin bazı özellikleri şunlardır:
Adı (Name), oluşturulma (DateCreated), erişim (DateLastAccessed),
değiştirme (DateLastModified) tarihleri, içindeki dosyalar ve
alt-klasörlerdeki dosyalarla birlikte boyutu (Size), bulunduğu sürücü
(Drive), içinde bulunduğu klasör (ParentFolder), alt-klasörler
(SubFolders), kök dizin olup olmadığı (IsRoot).
Klasör nesnesinin kopyala (Copy), sil (Delete) ve Taşı (Move) metodları vardır.
Dosya (File) nesnesinin de ad, oluşturma, erişim, değiştirme, boyut,
sürücü ve içinde bulunduğu sürücü özellikleri, ve kopyala, sil, taşı
metodları vardır.
PWS’ınızın bulunduğu sistemde, söz gelisi C: sürücüsünün kök
dizinindeki bütün dosyaların listesini size veren bir kod şöyle
yazılabilir (dosyalar.asp):


asp:
<% Option Explicit %>


ASP ILE KLASOR - DOSYA KOLLEKSİYONU
<**** http-e****="content-type" *********"text/html; charset=ISO-8859-9">
<**** http-e****="Content-Type" *********"text/html; charset=windows-1254">


<%
Dim DosyaSistemi, Surucu, Dosya, KokDizin, KokDosyalar, DosyaNesnesi
Dim SurucuHarfi
SurucuHarfi = "C:"
Set DosyaSistemi = CreateObject("scripting.FileSystemObject")
Set Surucu = DosyaSistemi.GetDrive(SurucuHarfi)
Set KokDizin = Surucu.RootFolder
Set KokDosyalar = KokDizin.Files
For Each DosyaNesnesi In KokDosyalar
%>
<%=DosyaNesnesi.Name%>

<% Next %>




Burada SurucuHarfi değişkenin değerini değistirerek, arzu ettiğiniz
disk/disket veya CD-ROMa ulaşabilirsiniz. GetDrive metodu dikkatinizi
çekmiş olmalı; bu metodla, VBscript, fiilen disk/disket sistemine
erişir.
Daha sonra yapacağımız ASP sayfalarında dosya sistemi nesnesinden ve disk sürücüleri kolleksiyonundan yararlanacağız.
Sayfa başına dön
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz