PHP- Files

PHP dilinde fopen() fonksiyonunu kullanarak dosya açılabilir.

Dosya Açmak

PHP dilinde fopen() fonksiyonu belirtilen isimli bir dosyayı açar.

Fonksiyonun ilk parametresi açılacak olan dosyanın ismidir,ikinci parametre ise dosyanın hangi modda açılacağını bildirir:

<html>

<body>

<?php

$file=fopen(“merhaba.txt”,”r”);

?>

</body>

</html>

Dosyalar şu modlarda açılabilir:

od Tanımı
r Yanlızca oku. Dosyanın başından itiraben okur
r+ Oku/Yaz. Dosyanın başından başlar
w Yanlızca yaz. Dosya açılır ve tüm içeriği tamamen silinir;belirtilen isimde bir dosya yoksa yeni dosya oluşturulur
w+ Oku/Yaz. Dosya açılır ve içerik temizlenir;dosya bulunamazsa yeni dosya oluşturulur
a Ekle.Dosya aç ve en sonundan itibaren yeni içerik eklenmeye devam eder.Dosya bulunamazsa yeni dosya oluşturulur.
a+ Oku/Ekle. Dosya içeriği korunur v sonundan itibaren yazmaya başlanır
x Yanlızca yaz. Verilen isimde yeni dosya oluşturulur.Dosya bulunamazsa FALSE döndürür.
x+ Oku/Yaz. Yeni dosya oluşturulur. Dosya bulunamazsa FALSE döndürür.

Not: fopen() fonksiyonu verilen isimde dosya açmayı başaramaz ise 0(false) değerini döndürür.

Örnek

Aşağıdaki örneğimizde dosya açılmaya çalışılıyor başarılı olunamazsa hata mesajı yayınlıyor,görelim:

<html>

<body>

<?php

$file=fopen(“welcome.txt”,”r”) or exit(Dosya açılamadı!”);

?>

</body>

</html>


Dosya Kapatmakfclose() açılan bir dosyayı kapatır:

<?php

$file = fopen(“test.txt”,”r”);

//çalıştırılacak kod

fclose($file);

?>


End-of-file(dosya sonu) Kontrolüfeof() fonksiyonu “end-of-file” (EOF) dosya sonuna ulaşılıp ulaşılmadığını kontrol eder.

Not: w, a, ve x moduyla açılan dosyalar okunamazlar!

if (feof($file)) echo “End of file-dosya adı”;


Dosyayı satır satır okumakfgets() fonksiyonu bir dosyadan tek bir satır okur ve imleci bi alt satıra kaydırır.

Örnek

Aşağıdaki örneğimizde kullanacağımız fgets() fonksiyonu ile açılan dosyamızdan satır satır veri alalım:

<?php

$file = fopen(“welcome.txt”, “r”) or exit(“dosya açılamadı!”);

//Alınan her satırı ,dosya sonuna ulaşana kadar ekrana yazdır

while(!feof($file))

{

echo fgets($file). “<br />”;

}

fclose($file);

?>


Dosyayı Karakter Karakter Okumakfgetc() fonksiyonu dosyadan tek bir karakter okur ve imleci bir karakter ileri kaydırır.

Örnek

Aşağıdaki örneğimizde kullanacağımız fgets() fonksiyonu ile açılan dosyamızdan karakter karakter veri alalım:

<?php

$file=fopen(“welcome.txt”,”r”) or exit(“Dosya açılamadı!”);

while (!feof($file))

{

echo fgetc($file);

}

fclose($file);

?>

5 thoughts on “PHP- Files

  • aşağıdaki kodda bir dosyadaki ad ve ona ait numaralar var:
    sorun1: trim($ad); satırında okuduğum notlarda trim fonksiyonunun boşlukları ve yeni satır ifadelerini attığı söyleniyor ama \n şeklinde yazdığım yeni satır ifadelerini atmıyor bu yüzden substr kullanmak zorunda kalıyorum
    sorun 2: bulma ve kaydetmede bir problem yok ama degistirme ve silme fonksiyonlarında en son iki tane yeni satır kutucuğu atıyor anlamadım gitti

    yardımların için şimdiden teşekkür ediyorum


    function degistir(){
    $dosya=fopen("rehber.txt","r");
    while(!feof($dosya)){
    $ad=fgets($dosya,1024);
    $tel=fgets($dosya,1024);
    //trim($ad);
    $ara=$_GET[isim];
    trim($ara);
    $ad=substr($ad,0,strlen($ad)-1);
    if($ad==$ara){
    $dizi[]=$ad;
    $dizi[]="\n";
    $dizi[]=trim($_GET[telefon])."\n";
    }
    else{
    $dizi[]=$ad;
    $dizi[]="\n";
    $dizi[]=$tel;
    }
    }
    fclose($dosya);
    $dosya=fopen("rehber.txt","w");
    foreach($dizi as $deger){
    fwrite($dosya,$deger);
    }
    fclose($dosya);
    }

  • Merhabalar ufak bir sorunumu dile getirmek ve inşallah cevap alıp mutlu olmak istiyorum :).

    Şöyle bir işlem yapmam gerekiyor;

    Ben localde appserver kurulu bilgisayarımda denemeler yapıyorum kendi çapımda birşeyler yapmaya çalışıyorum.Şuan çalıştığım şey C’de auf klasörü içindeki kl.exe yi çalıştırmak.(c:/auf/kl.exe)Bunu yaparken appserverde kurulu sistemdeki php belgelerimin bulunduğu mustafa1.php adlı çalıştıracağım dosyada http://127.0.0.1/tutkun/mustafa1.php olarak duruyor.

    Pek teknik olarak terimler vs bilgim yok ama size şöyle anlatayım.Hani exe’ye sağ tıklarız özellikler bölümünde exe’nin yolunun olduğu bölümde “C:\auf\kl.exe -console… tarzı şeyler bulunur.Bende aynen bu şekilde çalıştıracağım exe’mi.

    Ben şöyle bir yöntem izledim;

    shell_exec(“C:\auf\kl.exe -console”);

    Bu komut ile çalıştırmaya çalıştım exe’ye ulaştı çalıştırdı fakat dizin olarak yani exe’nin bulunduğu dizin olarak mustafa1.php’nin bulunduğu yeri görüyor ve kl.exe nin çalıştıracağı kullanacağı dosyaları mustafa1.php’nin olduğu yerde arıyor.Bunun üzerine cd ile dizine geçip o şekilde çalıştırmayi denedim ;

    shell_exec(“cd c:\auf”);
    shell_exec(“.\kl.exe -console”);

    şeklinde denedim buseferde exe’yi bulamadığı için exeyi görmediği için çalışmadı exe.
    Birçok şey denedim “exec, shell_exec” vs denedim ama bir türlü olmadı yardımcı olabilirseniz çok sevinirim

  • merhabalar şu kodu denedim. Fakat dosya açılamadı dedi. Birde bu dosya nerede oluşuyor. Localde çalışıyorum ben.

  • $dosya = fopen(“merhaba.txt”,”r”) or exit(“Dosya Açılamadı !”);

    fclose($dosya);

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir