PHP ile Dosya Okuma İşlemleri hakkında bilgi almak isteyenler için yazılmıştır Bu yazıda, PHP dilinde dosya okuma işlemleri nasıl yapılır ve hangi fonksiyonlar kullanılır detaylı bir şekilde anlatılmaktadır Dosya okuma işlemleri hakkında merak edilen tüm soruların cevaplarını burada bulabileceksiniz Okuma işlemleri ile ilgili örnek kodlara da yer verilmiştir

PHP, internet sitelerinin olmazsa olmazı olan programlama dillerinden birisidir. PHP'nin birçok özelliği bulunmakla birlikte dosya işlemleri de en çok kullanılan özellikleri arasındadır. Bu özellikler sayesinde PHP sayfalarında dosya okuma ve yazma işlemleri kolaylıkla yapılabilmektedir.
Dosya okuma işlemleri yaparken, PHP'de bir dosyayı okumak için birçok yöntem bulunmaktadır. Bu yöntemler, farklı amaçlar için kullanılabilen fonksiyonlar şeklinde tasarlanmıştır.
Bu fonksiyonlar arasında en çok kullanılanlar ise fopen(), fgets() ve fread() fonksiyonlarıdır. Bu fonksiyonlar sayesinde, bir dosyanın açılması, okunması ve verilerin okunması işlemleri kolayca yapılabilinir.
Bunun yanı sıra, PHP'de dosya okuma ve yazma işlemlerini kullanırken, dikkatli olmak gerekmektedir. Özellikle sıkça kullanılan fgets() fonksiyonu tek satırı okumak için kullanıldığında, verileri anlaşılır hale getirmek biraz zor olabilir. Bu yüzden, dosya okuma işlemleri yaparken, verilerin şekillendirilebilir olması için farklı fonksiyonlar kullanmak gerekmektedir.
Özetle, PHP ile dosya okuma işlemleri yapmak oldukça kolaydır. Bunun için, dosyanın açılması ve okunacak modda açılması gerekir. Ayrıca, farklı fonksiyonlar kullanılarak, dosyadan veriler okunabilir ve işlem yapılabilir.
Dosya Okuma Fonksiyonları
PHP'de dosya okumak için birçok farklı fonksiyon kullanılır. Bu fonksiyonlar, açılan dosyaların okunmasını ve içeriklerinin işlenmesini sağlar. İşte en sık kullanılan dosya okuma fonksiyonları:
- fopen() Fonksiyonu: Dosyaların açılması için kullanılır ve dosya okuma modunda açmak için kullanılabilir. Bu fonksiyon, dosyayı açarken kullanılan dizin adresini de belirtebilir.
- fgets() Fonksiyonu: Tek satırlık verilerin okunması için kullanılır. Bu fonksiyon, belirtilen dosyadan bir satır okur ve okunan satırın sonundaki \n karakterini de dahil ederek geri döndürür.
- fread() Fonksiyonu: Bütün dosyaların okunması için kullanılır ve daha gelişmiş parametreleri olan bir fonksiyondur. Bu fonksiyon, dosyanın belirtilen karakter sayısı kadar bir kısmını veya tamamını okuyabilir.
Bu fonksiyonların her biri, dosya okuma işlemlerinde farklı işlevleri yerine getirir. Hangisinin kullanılacağı, işlem yapılacak veri tipine ve işlem gereksinimlerine bağlıdır. Ancak, çoğu durumda dosya okuma işlemleri genellikle fgets() veya fread() fonksiyonları ile gerçekleştirilir.
fopen() Fonksiyonu
PHP'de dosya okuma işlemleri için kullanılan önemli bir fonksiyon olan fopen(), dosyaların açılmasını ve belirtilen moda göre okunmasını sağlar. Dosyayı açmak için fopen() fonksiyonuna veri olarak dosya yolunun yanı sıra açılma modu da belirtilir.
fopen() fonksiyonunda dosya açma modları kullanılır. Bu modlar aşağıdaki gibidir:
Mod | Açıklama |
---|---|
r | Okuma için açar ve veri imleci dosyanın başına konumlandırılır |
r+ | Hem okuma hem de yazma için açar ve veri imleci dosyanın başına konumlandırılır |
w | Yazmak için açar ve dosyayı kesilir. Dosya yoksa oluşturulur |
w+ | Hem yazmak hem de okumak için açar. Dosya yoksa oluşturulur |
a | Yazmak için açar ve veri imleci dosyanın sonuna konumlandırılır. Dosya yoksa oluşturulur |
a+ | Hem yazmak hem de okumak için açar. Veri imleci dosyanın sonuna konumlandırılır. Dosya yoksa oluşturulur |
Örneğin, aşağıdaki kod dosya.txt dosyasını okumak için açar:
$file = fopen("dosya.txt", "r");
Bu kod dosya.txt dosyasını yazmak için açar:
$file = fopen("dosya.txt", "w");
fopen() fonksiyonu başarısız olduğunda false değeri döndürür. Bu nedenle, işlemi kontrol etmek için genellikle bir if bloğu kullanılır. Ayrıca, işlem başarılı olursa dosyayı kapatmak için fclose() fonksiyonunun kullanılması önerilir.
fgets() Fonksiyonu
PHP'de dosya okuma işleminde kullanılan fgets() fonksiyonu, verilerin tek satırlık bloklar halinde okunması için kullanılır. Okuma işlemi, belirtilen dosyanın açık olması koşuluyla gerçekleşir. Bu fonksiyon, dosyanın sonuna kadar ilerlemek üzere tasarlanmıştır. Dosyanın satır satır okunması söz konusu olduğunda, fgets() fonksiyonu bu işlem için ideal bir seçenek olacaktır.
Bu fonksiyon kullanılarak, dosyanın farklı satırlarındaki veri grupları sırayla okunabilir. fgets() fonksiyonu döndürdüğü verileri, bir değişkene atanarak işlem amaçlı kullanılabilir. Örneğin, tek bir satırda bulunan metinsel verilerin okunması için fgets() fonksiyonu kullanılabilir. Ayrıca, bir dosyada yer alan sayısal değerlerin satır bazında işleme sokulması, fgets() fonksiyonu ile mümkündür.
Kod Satırı | Açıklama |
---|---|
$dosya = fopen("ornek.txt", "r"); | Belirtilen dosya adı ve okuma modu ile açılır. |
while(!feof($dosya)) | Dosya baştan sona kadar okunur, dosyanın sonu belirtilene kadar. |
$satir = fgets($dosya); | Her bir satır okunur ve değişkene atanır. |
echo $satir; | Okunan veriler ekrana yazdırılır. |
fclose($dosya); | Belirtilen dosya kapatılır. |
fread() Fonksiyonu
PHP'de dosya okuma işlemi için kullanılan fread() fonksiyonu, bütün dosyaların okunması için kullanılır. Bu fonksiyonda, dosya açılması işlemi önceden yapılmış olmalıdır. fopen() fonksiyonu ile dosya açma işlemi gerçekleştirildikten sonra, fread() fonksiyonu ile dosyadan veriler okunabilir.
fread() fonksiyonunun temel kullanımı şu şekildedir:
fread(handle,length)Parametreleri aşağıdaki gibi açıklayabiliriz:
- handle: Dosya işaretçisi, açık olan dosyanın yerini belirler.
- length: Kaç byte'lık (veya karakter) verinin okunacağı belirlenir.
Örnek kodda, öncelikle dosyanın açılması gerekir:
$file = fopen("ornek.txt","r");Ardından, dosyadan 100 byte'lık bir veri okunabilir:
$data = fread($file,100);echo $data;fread() fonksiyonunun daha gelişmiş kullanımları da mevcuttur. Örneğin, dosyanın sonuna gelindiğinde hangi işlemin yapılacağını belirleyen 3. parametre gibi. Bu parametreleri kullanarak, dosyayı daha etkili bir şekilde okuyabilirsiniz.
fread() fonksiyonu, dosya okuma işlemlerinde file() veya file_get_contents() fonksiyonlarına tercih edilir. Bunun nedeni, fread() fonksiyonunun daha gelişmiş parametreleri ve daha hızlı olmasıdır.
Örnek Kodlar
PHP'de dosya okuma işlemlerinin nasıl yapıldığını öğrendikten sonra, basit dosyaların okunması ve verilerin ekrana bastırılması işlemlerinin örnek kodlarına bakalım. Aşağıdaki örnek kod, önceden oluşturulmuş bir metin dosyasını açar, okur ve içerdiği verileri ekrana basar:
<?php$dosya = fopen("ornek.txt", "r"); //dosya açılıyorif ($dosya) { while (($veri = fgets($dosya)) !== false) { echo $veri . "
"; //veriler ekrana bastırılıyor } if (!feof($dosya)) { echo "Dosya okunurken hata oluştu\n"; } fclose($dosya); //dosya kapatılıyor}?>
Bu örnek kod, fopen() fonksiyonuyla "ornek.txt" dosyasını "r" okuma modunda açar. Daha sonra, fgets() fonksiyonu sırasıyla dosyanın her satırını okur ve while döngüsünde ekrana bastırılır. Son olarak, fclose() fonksiyonu dosyayı kapatır.
Bir diğer yöntem ise fread() fonksiyonu kullanmaktır. Bu fonksiyon, dosyanın bütün içeriğini okur ve daha gelişmiş parametrelere sahiptir. Aşağıdaki örnek kodda, fread() fonksiyonu kullanılarak dosyanın bütün içeriği okunup ekrana bastırılır:
<?php$dosya = fopen("ornek.txt", "r");if($dosya) { $icerik = fread($dosya, filesize("ornek.txt")); echo $icerik; fclose($dosya);}?>
Bu örnekte, dosya okundu ve içeriği $icerik değişkenine okundu. Sonra bu değişken ekrana bastırıldı. Dosya okuma işleminden sonra dosya kapatıldı.
Yukarıdaki örnekler, basit dosyaların okunması ve verilerin ekrana bastırılması için kullanabileceğiniz örnek kodlardır. Daha fazla dosya okuma işlemi için, fopen() ve fread() fonksiyonlarının kullanımını öğrenebilirsiniz.
Dosya Yazma İşlemleri
PHP ile dosya yazmak, dosya okumak kadar önemlidir. Dosya yazma işlemleri tıpkı dosya okuma işlemleri gibi fopen() fonksiyonu ile başlar. fopen() fonksiyonunun 'w' parametresi kullanılarak, dosya yazma modunda açılır.
Dosya yazmak için kullanılan en temel fonksiyon fwrite() fonksiyonudur. Açık olan dosyaya yazma işlemi için kullanılır ve veri yazıldıktan sonra dosya otomatik olarak kapatılır. fwrite() fonksiyonu, veriyi direkt olarak belirtilen dosyaya yazar. Bu nedenle, var olan verinin üzerine yazma işlemi yapar ve bir dosya yoksa yeni bir dosya oluşturur.
fwrite() fonksiyonuna alternatif olarak kullanılan bir diğer fonksiyon da fputs() fonksiyonudur. Bu fonksiyon, fwrite() fonksiyonu ile aynı işlevi görmektedir. Ancak, farklı bir kullanım şekline sahiptir.
fopen() fonksiyonu ile dosya yazmak üzere açıldıktan sonra, fwrite() fonksiyonu kullanılarak veri dosyaya yazılır. fwrite() fonksiyonu aşağıdaki gibi kullanılmaktadır:
$file = fopen("dosyaadi.txt", "w");fwrite($file, "Merhaba Dünya!");fclose($file);
Yukarıdaki örnekte, 'dosyaadi.txt' isimli bir dosya açılır ve fwrite() fonksiyonu ile 'Merhaba Dünya!' yazısı dosyaya yazılır. fwrite() fonksiyonu dosya yazma işlemi bittikten sonra otomatik olarak dosyayı kapatır.
fputs() fonksiyonu, var olan verinin üzerine yazmak veya yeni bir dosya oluşturmak için fwrite() fonksiyonuna alternatif olarak kullanılmaktadır. fwrite() fonksiyonu ile hemen hemen aynı işlevi görür.
fputs() fonksiyonu aşağıdaki gibi kullanılmaktadır:
$file = fopen("dosyaadi.txt", "w");fputs($file, "Merhaba Dünya!");fclose($file);
Yukarıdaki örnekte, 'dosyaadi.txt' isimli bir dosya açılır ve fputs() fonksiyonu ile 'Merhaba Dünya!' yazısı dosyaya yazılır. fputs() fonksiyonu dosya yazma işlemi bittikten sonra otomatik olarak dosyayı kapatır.
PHP ile dosya yazma işlemleri için kullanılan örnek kodlar aşağıdaki gibidir:
Fonksiyon | Açıklama |
---|---|
fopen() | Dosya açmak |
fwrite(), fputs() | Dosyaya veri yazmak |
fclose() | Dosyayı kapatmak |
fwrite() Fonksiyonu
PHP ile dosya işlemleri esnasında bir dosya açıldığında veriler dosyaya kaydedilir veya dosyadan okunur. Bu makalemizde sizlere açık olan dosyaların yazılmasında kullanılan fwrite() fonksiyonu hakkında bilgi vereceğiz.
fwrite() fonksiyonu, herhangi bir dosyanın sonuna belirtilen veriyi herhangi bir boyutta eklemek ya da bir metin dosyasının içine istenilen metni yazmak için kullanılır. Fonksiyonun kullanımı oldukça basittir. İlk parametre olarak açık olan dosya belirtilir. İkinci parametre veri, üçüncü parametre ise yazılacak karakter sayısıdır.
Aşağıdaki örnekte, yazdığımız bir dizi olan $isimler array'ini bir dosyaya yazdık. Bu nedenle fwrite(), "isimler.txt" adlı dosyanın sonuna diziyi ekler.
fwrite() Örnek Kodu |
---|
$isimler = array('Ali','Mehmet','Ayşe','Fatma'); $dosya = fopen("isimler.txt",'a'); foreach ($isimler as $isim) { fwrite($dosya,$isim . "\n"); } fclose($dosya); |
Yukarıdaki örnekte, fwrite() fonksiyonu her bir ismi yeni bir satıra yazacak şekilde "isimler.txt" dosyasına eklenir. Kullanılan "\n" karakteri, her ismin ayrı bir satırda yazılmasını sağlar.
Ayrıca, fwrite() fonksiyonu ikinci parametre olarak herhangi bir veri türünü kabul eder. Bu nedenle, fwrite() fonksiyonu kullanılarak bir dosyaya metin, dizgiler, sayılar ve hatta resimler bile yazılabilir.
Özetle, fwrite() fonksiyonu açık olan herhangi bir dosyaya veri yazmak için kullanılır ve oldukça esnektir.
fputs() Fonksiyonu
fputs() fonksiyonu, fwrite() fonksiyonuna alternatif olarak kullanılan bir dosya yazma fonksiyonudur. Bu fonksiyon, verileri dosyaların sonuna eklemek için kullanılır. fwrite() fonksiyonu gibi kullanılır ve aynı işlevi yapar.
Bu fonksiyonun parametreleri de benzerdir; ilk parametre olarak hangi dosyaya yazılacağı belirtilir ve ikinci parametrede ise yazılacak veri yer alır. Fonksiyon, dosyaya veriyi yazdıktan sonra yazılan verinin uzunluğunu bir integer olarak geri döndürür. Ancak, bu fonksiyonun bir dezavantajı vardır; bir hata oluşursa false değer döndürür.
Bununla birlikte, fputs() fonksiyonu PHP tarafından tamamen desteklenir ve fwrite() fonksiyonunun gerçeklemesi olarak da kullanılır. Dolayısıyla, tercih edilmesi gerektiği zamanlar olabilir. Ancak, birinci parametre olarak dosyaların açılacağı modların kullanılması gerekiyor ya da yazma işlemi başarısız olabilir.
Örnek Kodlar
PHP ile dosyaların nasıl oluşturulacağı ve veri yazma işlemlerinin nasıl gerçekleştirileceği konusunda örnek kodlar aşağıda yer almaktadır:
Dosya Adı | Açıklama |
---|---|
ornek.txt | Dosyanın oluşturulması ve veri yazma işlemlerinin gerçekleştirilmesi örneği |
sonuclar.txt | Bir döngü ile verilerin dosyaya yazılması örneği |
Örnek dosya oluşturma:
$dosya = fopen("ornek.txt", "w");fwrite($dosya, "Bu bir örnek dosya.");fclose($dosya);
Bu örnek kod, "ornek.txt" adında bir dosya oluşturur ve içine "Bu bir örnek dosya." yazısını yazar.
Bir döngü ile veri yazma işlemi:
$dosya = fopen("sonuclar.txt", "w");for ($i = 1; $i <= 10; $i++) { fwrite($dosya, "Sayı " . $i . "\r\n");}fclose($dosya);
Bu örnek kodda, "sonuclar.txt" adında bir dosya oluşturulur ve bir döngü ile 1'den 10'a kadar olan sayılar dosyaya yazdırılır. Verilerin her biri yeni bir satıra yazılır.