Dosya İşlemleri
Bir Dosyayı Açmak
1- Dosya Kiplerini Seçmek
Bir dosya açarken üç seçim yapmanız gerekir:
a. Bir dosyayı sadece okumak için, sadece yazmak için veya hem okumak hem de yazmak için açmak isteyebilirsiniz.
b. Eğer bir dosyaya yazıyorsanız, dosyanın mevcut içeriğinin üzerine yazabilirsiniz veya dosyanın sonuna veri ekleyebilirsiniz. Ayrıca, eğer dosya zaten mevcut ise bunun üzerine yazmaktansa durumu kabullenip programınızı sonlandırmayı da tercih edebilirsiniz.
c. Eğer ikilik dosyalar ve metin dosyaları arasında ayrım yapan bir sistem üzerindeki bir dosyaya yazmaya çalışıyorsanız, bunu belirtmek isteyebilirsiniz.
2- Bir Dosya Açmak için fopen() Kullanmak
Fopen() fonksiyonunun genel kullanımı;
ÖR: $fp = fopen(‘orders.txt’, ‘w’);
Fopen(), iki zorunlu iki de isteğe bağlı parametre alır. Fonskiyonun ikinci parametresi dosya kipini belirtir.
Fopen() için Dosya Kipleri
Kip
|
Kipin Adı
|
Anlamı
|
r
|
Okuma (Read)
|
Dosyayı başından itibaren okumak için aç
|
r+
|
Okuma
|
Okuma Kipi – Dosyayı başından itibaren okuma ve yazma için aç.
|
w
|
Yazma (Write)
|
Dosyayı başından itibaren yazma için aç. Eğer dosya mevcutsa, mevcut içeriği sil. Eğer mevcut değilse oluşturmaya çalış.
|
w+
|
Yazma
|
Dosyayı başından itibaren yazma ve okuma için aç. Eğer dosya mevcutsa, mevcut içeriği sil. Eğer mevcut değil ise oluşturmaya çalış.
|
x
|
Tedbili Yazma
(Coutious Write)
|
Dosyayı başından itibaren yazma için aç. Dosya mevcutsa açılmayacak, fopen() false sonucunu döndürecek ve PHP bir uyarı gönderecektir.
|
x+
|
Tedbirli Yazma
|
Dosyayı başından itibaren yazma ve okuma için aç. Dosya mevcutsa açılmayacak, fopen() false sonucunu döndürecek ve PHP bir uyarı gönderecektir.
|
a
|
Ekleme (Append)
|
Dosyayı, eğer mevcutsa mevcut içeriğin sonundan itibaren sadece ekleme yapmak için aç. Eğer mevcut değilse oluşturmaya çalış.
|
a+
|
Ekleme
|
Dosyayı başından itibaren yazma ve okuma için aç. Dosya mevcutsa açılmayacak, fopen() false sonucunu döndürecek ve PHP bir uyarı gönderecektir.
|
b
|
İkilik (Binary)
|
Diğer kiplerden biriyle birlikte kullanılır. Eğer dosya sisteminiz ikilik dosyalar ve metin dosyaları arasında ayrım yapıyorsa bu kipi kullanmak isteyebilirsiniz. Windows sistemler ayrım yapar. Taşınabilirlik açısından bu kip varsayılandır.
|
Fopen() dosyayı başarı ile açarsa bir kaynak döndürür.
3- FTP veya http Üzerinden Dosya Açmak
PHP ile FTP, http ve diğer protokoller üzerinden de dosya açabilirsiniz. Dikkat edeceğiniz nokta allow_url_fopen direktifinin ON olmasıdır.
Bir Dosyaya Yazmak
Bir dosyaya yazarken fwrite() veya fputs() fonksiyonlarından birini kullanabiliriz. Fputs(), fwrite() ile aynıdır.
ÖR: fwrite($fp, $outputstring);
Fwrite() fonksiyonunun yeni bir alternatifi vardır: file_put_contents() fonksiyonu. Bu fonksiyon kullanılırken dosya açmaya gerek yoktur. Fwrite() genellikle üç parametre alır, üçüncüsü isteğe bağlıdır.
ÖR: fwrite(resource $handle, string $string [, int $length]);
Bir Dosyayı Kapatmak
Bir dosyayı kullanmayı bitirdikten sonra onu kapatmak gerekir.
ÖR: fclose($fp);
Başarı durumunda true döndürür.
Bir Dosyadan Okumak
Dosyayı sadece okumak için açacağımızdan ‘rb’ kipini kullanmamız yeterli olacaktır.
ÖR: $fp = fopen(‘orders.txt’, ‘rb’);
Dosyadan okumak için kullanabileceğimiz birden fazla fonksiyon vardır. Bunlara bir sonraki makale olan “Dosya ve Dizin İşlevleri” konusunda değineceğiz.
İyi çalışmalar.