IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 12 Mart 2010, 13:16   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
PHP ile Dosya İşlemleri




PHP, C programlama dili ile birçok benzerlik göstermesine rağmen dosya işlemleri gibi uğraştırıcı işlemlerde programcıya büyük kolaylıklar sağlar. PHP’de dosyalar ile kullanılabilecek birçok işlev olmasına rağmen (altmıştan fazla!) burada sadece dosya ve dizin açma, dosyadan ve dizinden okuma ve dosyaya bilgi yazma gibi konulara değineceğim.



fopen() işlevi fopen() işlevi PHP’de dosyaları açmak için kullanılır. İşleve parametre olarak iki değer girilir. Birincisi, dosya adı ve ikinci de üzerinde işlem yapılacak dosyanın hangi işlem için kullanılacağıdır.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<? fopen(&#8220;dosya_adı”, ”amaç”); ?>


İşlevin kullanımı yukarıdaki kalıba göredir. “dosya_adı” ile belirtilen yere üzerinde işlem yapılacak dosya tam yolu ile yazılmalıdır, “amaç” kısmına ise dosyanın açılacağı kip yazılır.
KipKullanım AmacırDosya sadece okuma için açılır. İmleç dosyanın başında konumlanır. r+Dosya hem yazma hem okuma için açılır. İmleç dosyanın başında konumlanır. wDosya yazma için açılır. Eğer aynı isimli dosya varsa silinir ve yeniden oluşturulur. w+Dosya hem yazma hem okuma için açılır. Eğer aynı isimli dosya varsa silinir ve yeniden oluşturulur. aDosya sadece yazma için açılır. İmleç dosyanın sonuna konumlandırılır. Dosya yoksa oluşturulur. a+Dosya hem yazma hem okuma için açılır. İmleç dosyanın sonuna konumlanır. Dosya yoksa oluşturulur.



Yukarıdaki tablo fopen() işlevi ile birlikte kullanabileceğimiz dosya açma kipi parametreleridir.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?
$dosya_ac 
= (fopen(&#8220;./dosya.txt”, ”r”));
if ($dosya_ac)
{
  echo &
#8220;Dosya başarı ile açıldı ”;
   
if (fclose($dosya_ac))
    {
        echo &
#8220;ve kapatıldı.”;
     
}
      else
    {
 
      echo &
#8220;fakat kapatırken hata oluştu!”;
   
}
}
  else
{
  echo &
#8220;Dosyayı açmaya çalışırken bir hata oluştu!”;
}
?>


Yukarıdaki PHP dosyası dosyanın açılıp açılamamasına göre ekrana bir mesaj verecektir. Açılan bir dosyayı kapatmak için fclose() işlevi kullanılır.
Yukarıdaki örnekte ilk if deyiminin içerisinde başka bir if deyimi kullandım. Bir dosyayı açıp tekrar kapatırken karşılaşabileceğimiz tüm ihtimalleri göz önünde bulundurmamız gerekmektedir. Mesela dosya açma işlemi başarılı bir şekilde gerçekleşmediyse PHP ekrana “Dosyayı açmaya çalışırken bir hata oluştu!” yazısını yazacaktır. Şayet dosya açma işlemi başarılı ise “Dosya başarı ile açıldı ” yazısını yazacak ve dosyanın doğru bir şekilde kapatılıp kapatılamaması durumuna göre “ve kapatıldı.” veya “fakat kapatırken hata oluştu!” ifadelerinde birisini ekrana basacaktır.
fgets() ve fread() işlevleri Bu iki işlev yazma modunda açılmış bir dosyadan bilgi almak için kullanılır. Aralarında ufak bir fark vardır. fgets() işlevi metin dosyalarında kullanılır ve dosyayı satır satır okur. fread() işlevi ise dosyayı ikili kipte (bayt bayt) okur.



PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?
####################
#  dosya_oku.php   #
####################
 
$dosya fopen(&#8220;./dosya.txt”, ”r”);
while (!feof($dosya))
{
  
$satir fgets($dosya,1024);
  echo &
#8220;$satir<br>”;
}
fclose($dosya);
?>




Yukarıdaki PHP programı bulunduğumuz dizindeki dosya.txt adlı dosyayı okuma kipinde açıp dosyanın sonuna kadar (!feof kalıbını birazdan anlatacağım) satır satır okuma gerçekleştirir ve ekrana yazar. Dosyayı okuma işlemi bitince de dosyayı kapatıp programı sonlandırır. fgets ile kullandığım “1024” rakamı okunacak bir satırdan kaç bayt alınacağını belirtir. Aslında yukarıdaki program require() işlevi ile hemen hemen aynı işi yapar.
fputs() ve fwrite() işlevleri Tahmin edeceğiniz gibi bu iki işlevde dosyaya bilgi yazmak için kullanılır. İkisi arasında bir fark yoktur. Yazma kipinde açılmış bir dosyaya bilgi girişi için kullanılırlar.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<?
###################
#  dosya_yaz.php  #
###################
$metin = &#8221;Burada herhangi bir metin olabilir.”;
$dosya fopen(&#8220;./defter.txt”,”w”);
fwrite($dosya,$metin);
fclose($dosya);
?>

Yukarıdaki PHP dosyası $metin adlı değişkendeki bilgiyi $dosya ile belirtilen dosyaya yazacaktır. Bu işlem sırasında bulunduğumuz dizinde defter.txt adlı bir dosya varsa silinecek ve yeniden oluşturulacaktır. Eğer varolan dosyamıza ekleme yapmak istiyorsak kullanmamız gereken dosya açma komutu fopen(“./defter.txt”,”a”) şeklinde olmalıdır. Ekleme dosya sonunu yapılır.

feof Bir dosyanın sonunun gelip gelmediğini kontrol eder..



PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
while (!feof($dosya)) ...... 

Oradaki kullanım DEĞİL mantıksal işleçi ile olduğu için kullandığım while döngüsünde dosya sonu olmayana kadar koşul doğru kabul edilip döngü sürdürülecektir..

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
dosya, islemleri, İşlemleri


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Dosya Giriş Çıkış İşlemleri MorfiN PHP 0 12 Mayıs 2012 09:33
Dosya İşlemleri YaRGuCi C# 0 09 Ocak 2012 22:36
Dosya İşlemleri Hakkında Cappystarj0e GNU, Linux ve UNIX 3 22 Kasım 2007 07:26
Linux Dosya İşlemleri Freak GNU, Linux ve UNIX 0 24 Nisan 2007 20:14