PHP 'de Dosyaları Açma ve Kapatma Nasıl Yapılır?

MG Yaşı
1 Yıl 3 Ay 9 Gün
Katılım
24 Ara 2024
Konular
0
Mesajlar
179
Tepkime puanı
21
Puan
43
1.jpg

PHP 'de Dosyaları Açma ve Kapatma Nasıl Yapılır?
Bu bölümde dosyalarla ilgili aşağıdaki işlevler açıklanacaktır:
  • Bir Dosya Açma
  • Bir Dosyayı Okumak
  • Bir Dosya Yazma
  • Bir Dosyayı Kapatma

Dosyaları Açma ve Kapatma

PHP fopen() fonksiyonu bir dosyayı açmak için kullanılır. Önce dosya adını ve sonra da hangi modda çalışılacağını belirten iki argümana ihtiyaç duyar.

Dosya modları bu tabloda yer alan altı seçenekten biri olarak belirtilebilir.

Sr.NoMod ve Amaç
1R
Dosyayı yalnızca okumak için açar.
Dosya işaretçisini dosyanın başına yerleştirir.
2r +
Dosyayı okuma ve yazmaya açar.
Dosya işaretçisini dosyanın başına yerleştirir.
3w
Dosyayı yalnızca yazma amaçlı açar.
Dosya işaretçisini dosyanın başına yerleştirir.
ve dosyayı sıfır uzunluğa keser. Eğer dosyalar
varsa bir dosya oluşturmaya çalışır.
4w+
Dosyayı yalnızca okuma ve yazma için açar.
Dosya işaretçisini dosyanın başına yerleştirir.
ve dosyayı sıfır uzunluğa keser. Eğer dosyalar
varsa bir dosya oluşturmaya çalışır.
5A
Dosyayı yalnızca yazma amaçlı açar.
Dosya işaretçisini dosyanın sonuna yerleştirir.
Eğer dosyalar mevcut değilse dosya oluşturmaya çalışır.
6bir+
Dosyayı yalnızca okuma ve yazma için açar.
Dosya işaretçisini dosyanın sonuna yerleştirir.
Eğer dosyalar mevcut değilse dosya oluşturmaya çalışır.

Bir dosyayı açma girişimi başarısız olursa fopen false değerini döndürür, aksi takdirde o dosyaya daha fazla okuma veya yazma işlemi için kullanılan bir dosya işaretçisi döndürür .

Açılan dosyada değişiklik yaptıktan sonra fclose() fonksiyonuyla kapatmak önemlidir . fclose() fonksiyonu argüman olarak bir dosya işaretçisi gerektirir ve kapanış başarılı olduğunda true , başarısız olduğunda false döndürür.

Bir Dosyayı Okumak

Bir dosya fopen() fonksiyonu kullanılarak açıldığında fread() adlı bir fonksiyonla okunabilir . Bu fonksiyon iki argüman gerektirir. Bunlar dosya işaretçisi ve bayt olarak ifade edilen dosyanın uzunluğu olmalıdır.

Dosyanın uzunluğu , dosya adını argüman olarak alan ve dosyanın boyutunu bayt cinsinden döndüren filesize() fonksiyonu kullanılarak bulunabilir .

İşte PHP ile bir dosyayı okumak için gerekli adımlar.

  • fopen() fonksiyonunu kullanarak bir dosya açın .
  • filesize() fonksiyonunu kullanarak dosyanın uzunluğunu alın .
  • fread() fonksiyonunu kullanarak dosyanın içeriğini okuyun .
  • Dosyayı fclose() fonksiyonuyla kapatın.

Örnek

Aşağıdaki örnek bir metin dosyasının içeriğini bir değişkene atar ve ardından bu içeriği web sayfasında görüntüler.
Kod:
<html>
<head>
<title>Reading a file using PHP</title>
</head>
<body>
<?php
$filename = "tmp.txt";
$file = fopen( $filename, "r" );

if( $file == false ) {
echo ( "Error in opening file" );
exit();
}

$filesize = filesize( $filename );
$filetext = fread( $file, $filesize );
fclose( $file );

echo ( "File size : $filesize bytes" );
echo ( "<pre>$filetext</pre>" );
?>
</body>
</html>

Aşağıdaki sonucu üretecektir:

2.jpg

Bir Dosya Yazma​

PHP fwrite() fonksiyonu kullanılarak yeni bir dosya yazılabilir veya var olan bir dosyaya metin eklenebilir . Bu fonksiyon, bir dosya işaretçisi ve yazılacak veri dizesini belirten iki argüman gerektirir. İsteğe bağlı olarak, yazılacak verinin uzunluğunu belirtmek için üçüncü bir tamsayı argümanı eklenebilir. Üçüncü argüman eklenirse, belirtilen uzunluğa ulaşıldıktan sonra yazma işlemi durur.

Örnek​

Aşağıdaki örnek yeni bir metin dosyası oluşturur ve sonra içine kısa bir metin başlığı yazar. Bu dosya kapatıldıktan sonra varlığı, dosya adını argüman olarak alan file_exist() fonksiyonu kullanılarak doğrulanır.
Kod:
<?php
$filename = "/home/user/guest/newfile.txt";
$file = fopen( $filename, "w" );
 
if( $file == false ) {
echo ( "Error in opening new file" );
exit();
}
fwrite( $file, "This is  a simple test\n" );
fclose( $file );
?>
<html>
<head>
<title>Writing a file using PHP</title>
</head>
<body>
<?php
$filename = "newfile.txt";
$file = fopen( $filename, "r" );

if( $file == false ) {
echo ( "Error in opening file" );
exit();
}

$filesize = filesize( $filename );
$filetext = fread( $file, $filesize );

fclose( $file );

echo ( "File size : $filesize bytes" );
echo ( "$filetext" );
echo("file name: $filename");
?>
</body>
</html>

Aşağıdaki sonucu üretecektir:

3.jpg
 
Geri
Üst