Bu yazımızda Php ile dosyaları açma,okuma, dosyanın içeriğini değiştirme gibi işlemlerin nasıl yapıldığını göreceğiz.
Dosya işlemleri yaparken dikkatli olmamız gerekir. Yapacağımız bir hatada dosyanın belli bir kısmı ya da tamamı zarar görebilir.
Bu fonksiyon bir dosyanın içini okur ve belleğe kaydeder. İhtiyacımız olduğu anda biz o dosyayı alır ve kullanabiliriz. Şimdi bir örnek yapalım.
site.txt dosyası
Kodlamaklazım sitesini bildiklerimi sizlere aktarmak için kurdum.
Yararlı bir platform olması dileğiyle..
index.php dosyası
<?php
echo readFile('site.txt');
//site.txt dosyasının içeriğini ekrana yazdırır.Aşağıdaki gibi değişkene
//tanımlayarak kullanmamız daha doğru olur.
$site_bilgisi = readFile('site.txt');
echo $site_bilgisi;
?>
Php Dosya işlemlerinde size ilk gösterdiğim fonksiyon olan readFile() fonksiyonuyla aynı işi yapar. Ama o fonksiyondan daha fazla işlem yapmamıza olanak sağlar.
2 parametre alır. Birinci parametre açılacak dosya, 2. parametre ise hangi formatta açılacağıdır.
dosya.txt dosyamız
Uslan Be Halil İbrahim
index.php dosyamız
<?php
$dosya= fopen("dosya.txt", "r") or die("Dosya bulunamadı!");
echo fread($dosya,filesize("dosya.txt"));
fclose($dosya);
?>
2. parametreye yazabileceğimiz değerleri açıklayalım.
r : Salt okunur dosyaları açmak için bu parametre kullanılır.
w: Yalnızca yazılması için bir dosya açar. Dosyanın içeriğini siler. Kullanırken dikkatli olmak gerekli
a: Yalnızca yazmak için bir dosya açar fakat w komutunun aksine dosyadaki verileri korur.
x: Yalnızca yazmak için yeni bir dosya oluşturur.
r+ : Okuma/Yazma için bir dosya açar.
w+: Okuma/ yazma için bir dosya açar. Dosyanın içeriğini siler
a+: Okuma/Yazma için bir dosya açar. Dosya içeriği korunur.
x+ : Okuma/Yazma için bir dosya oluşturur. Dosya varsa false değeri ya da bir hata döndürür
fRead() fonksiyonu açık bir dosyadan verileri okur.
2 parametre alır;
İlk parametre okunacak dosyanın dosya yolu ile birlikte adı,
İkinci parametre ise maksimum okunacak byte sayısı.
dosya.txt
Ne Mutlu Türk'üm Diyene !
index.php dosyamız
<?php
$dosya = fopen("dosya.txt","r");
fread($dosya,"55");
fclose($dosya);
?>
fclose() Fonksiyonu açık olan bir dosyayı kapatmak için kullanılır. Şöyle örnek vereyim bir dosya üzerinde işlem yapıyoruz. Bu işlem bittiğinde fclose fonksiyonu ile dosyayı kapatmamız gerekmektedir. eğer dosyayı kapatmazsak sunucuda açık kalıp fazladan yer kaplayacak belki küçük projelerde bir etkisi olmaz ama büyük projelerde sistemi yavaşlatarak performans kaybına neden olacaktır.
<?php
//Dosyamızı açıyoruz
$dosya= fopen("dosya.txt", "r");
//İşimiz bittikten sonra kapatıyoruz
fclose($dosya);
?>
fGet() fonksiyonu belirttiğimiz dosyanın ilk satırını okumak için kullanılır. Bazı doğruluk ve dosya kontrollerinde kullanabiliriz
<?php
$dosya=fopen("dosya.txt","r");
$satir_oku=fgets($dosya);
echo $satir_oku;
fclose($dosya);
?>
Bir dosyanın son satırına ulaşılıp ulaşılmadığını öğrenmek için feof() fonksiyonu kullanılır.
Aşağıdaki kod parçacığı son satıra gelene kadar dosya.txt dosyasını satır satır okur.
<?php
$dosya= fopen("dosya.txt", "r") or die("Dosyaya ulaşılamadı");
while(!feof($dosya)) {
echo fgets($dosya) . "<br>";
}
fclose($dosya);
?>
fgetc Fonksiyonu (Harf Harf Okuma)
Bu fonksiyon ile dosya içindeki veriler harf harf okunur. Döngü yardımıyla dosyayı harf harf okuyarak tüm dosyayı okuyabiliriz.
Çok sayıda işlem içerdiği için büyük projelerde kullanılması önerilmez.
<?php
$dosya = fopen('dosya.txt','r');
while($dosya_oku = fgetc($dosya)){
echo $dosya_oku.'<br>';
}
fclose($dosya);
?>
Bu bölümde ise dosya işlemleri için kullanılan fonksiyonlarla nasıl dosya oluşturabileceğimizi göreceğiz.
fopen fonksiyonu aynı zamanda dosya oluşturmak için de (bağlaç olan de ayrı yazılırmış kızıyorlar sonra :D ) kullanılır.
Aşağıdaki komut dosya.txt adında bir dosya oluşturu. Dosya, kodu yazdığımız php dosyası ile aynı dizinde bulunur.
<?php
$dosyamiz = fopen("dosya.txt","w");
?>
**** Dosya işlemleri yaparken sorun yaşıyorsanız sunucunuzun okuma ve yazma izinlerini kontrol edebilirsiniz. Sorun muhtemelen bundan kaynaklıdır.
Bir dosyaya yazmak için fwrite() fonksiyonu kullanılır. Birinci parametresi yazmak istediğimiz dosyanın adı, ikinci parametresi ise yazmak istediğimiz öğelerdir.
<?php
$dosya= fopen("dosya.txt","w");
echo fwrite($dosya,"Kodlamaklazımmmmmmmm!");
fclose($file);
?>
Eğer dosyanın içeriğini silip üzerine yazmak istiyorsak w , içeriği koruyarak üzerine yazmak istiyorsak a parametresini fwrite fonksiyonuna vererek bu işlemi gerçekleştirebiliriz.
<?php
$dt = fopen('dosya.txt', 'w');
fwrite($dt, '1');
fwrite($dt, '23');
fclose($dt);
?>
Ramazan Şerif AKBUZ
18-February-2021Gerçekten çok faydalı bir yazı olmuş php dosya işlemleri konusunda kendimi geliştirdim.