PHP Dosya() Kullanımı ve İşlevleri

Dosya Nedir?

Dosya, bilgisayarda bilgi depolamak için kullanılan bir kaynaktır.

Dosyalar genellikle aşağıdaki gibi bilgileri depolamak için kullanılır:

  • Bir programın yapılandırma ayarları
  • Telefon numaralarına karşı kişi adları gibi basit veriler.
  • Görüntüler, Resimler, Fotoğraflar vb.

PHP Dosya Formatları Desteği

PHP dosya işlevleri aşağıdakileri içeren çok çeşitli dosya formatlarını destekler:

  • Dosya.txt
  • Dosya.log
  • File.custom_extension yani dosya.xyz
  • Dosya.csv
  • Dosya.gif, dosya.jpg vb.
  • Dosyalar, DBMS sistemlerini yönetmek için başka yazılım ve beceriler gerektiren veritabanlarına kıyasla basit veriler için kalıcı, uygun maliyetli bir veri depolama çözümü sağlar.
  • Daha sonra almak ve analiz etmek için sunucu günlükleri gibi basit verileri depolamak istiyorsunuz
  • Program ayarlarını yani program.ini'yi saklamak istiyorsunuz

PHP dosyası() İşlev

PHP, zengin yerleşik işlevler koleksiyonu aracılığıyla dosyalarla çalışmanın kolay bir yolunu sunar.

Operagibi sistemler Windows ve MAC OS büyük/küçük harfe duyarlı değildir Linux or Unix işletim sistemleri büyük/küçük harfe duyarlıdır.

Yalnızca dosya adlandırma için küçük harfler gibi bir adlandırma dönüşümünü benimsemek, platformlar arası maksimum uyumluluğu sağlayan iyi bir uygulamadır.

Şimdi en sık kullanılan PHP dosya fonksiyonlarından bazılarına bakalım.

PHP file_exists() İşlev

Bu fonksiyon bir dosyanın var olup olmadığını belirlemek için kullanılır.

  • Bir dosyanın işlemeden önce var olup olmadığını bilmek istediğimizde kullanışlı olur.
  • Bu işlevi yeni bir dosya oluştururken de kullanabilirsiniz ve dosyanın sunucuda mevcut olmadığından emin olmak istersiniz.

file_exist fonksiyonunun söz dizimi aşağıdaki gibidir.

<?php
file_exists($filename); 
?>

İŞTE,

  • “file_exists()”, dosya varsa true, yoksa false değerini döndüren PHP işlevidir.
  • “$file_name” kontrol edilecek dosyanın yolu ve adıdır

Aşağıdaki kod, my_settings.txt dosyasının mevcut olup olmadığını belirlemek için file_exists işlevini kullanır.

<?php
if (file_exists('my_settings.txt'))
 {    
        echo 'file found!';
 } 
else
 {     
        echo 'my_settings.txt does not exist';
  } 
?>

Yukarıdaki kodu file_function.php adlı bir dosyaya kaydedin. Dosyayı htdocs'taki phptuts klasörüne kaydettiğinizi varsayarak URL'yi açın. http://localhost/phptuts/file_function.php tarayıcınızda Aşağıdaki sonuçları alacaksınız.

PHP file_exists() İşlev

PHP fopen() İşlevi

fopen fonksiyonu dosyaları açmak için kullanılır. Aşağıdaki söz dizimine sahiptir

<?php
fopen($file_name,$mode,$use_include_path,$context);
 ?>

İŞTE,

  • “fopen” PHP açık dosya işlevidir
  • “$file_name” açılacak dosyanın adıdır
  • “$mode” dosyanın açılması gereken moddur, aşağıdaki tablo modları göstermektedir
Moda Açıklama
r • Dosyayı baştan okuyun.
• Dosya mevcut değilse false değerini döndürür.
• Sadece oku
r+ • Dosyayı baştan okuyun
• Dosya mevcut değilse false değerini döndürür.
• Oku ve yaz
w • Başlangıçta dosyaya yaz
• dosyayı sıfır uzunlukta kes
• Dosya mevcut değilse, onu oluşturmayı deneyin.
• Yalnızca yaz
w+ • Dosyaya başlangıçta yaz, dosyayı sıfır uzunlukta kes
• Dosya mevcut değilse, onu oluşturmayı deneyin.
• Oku ve yaz
a • Dosyanın sonuna ekle
• Dosya mevcut değilse, onu oluşturmayı deneyin.
• Yalnızca yaz
a+ • Php dosyanın sonuna eklenir
• Dosya mevcut değilse onu oluşturmayı deneyin
• Oku ve yaz
  • "$use_include_path" isteğe bağlıdır, varsayılan değer false'tur, true olarak ayarlanırsa işlev, içerme yolunda da arama yapar.
  • “$context” isteğe bağlıdır, bağlam desteğini belirtmek için kullanılabilir.

PHP fwrite() İşlevi

Fwrite işlevi dosya yazmak için kullanılır.

Aşağıdaki sözdizimine sahiptir

<?php
fwrite($handle, $string, $length);
?>

İŞTE,

  • “fwrite”, dosyalara yazmak için kullanılan PHP işlevidir
  • “$handle” dosya işaretçisi kaynağıdır
  • “$string” dosyaya yazılacak veridir.
  • “$uzunluk” isteğe bağlıdır ve maksimum dosya uzunluğunu belirtmek için kullanılabilir.

PHP fclose() İşlevi

fclose() işlevi, php'de zaten açık olan bir dosyayı kapatmak için kullanılır.

Söz dizimi şu şekildedir.

<?php
fclose($handle); 
?>

İŞTE,

  • "fclose" PHP işlevi açık bir dosyayı kapatmak için
  • “$handle” dosya işaretçisi kaynağıdır.

Şimdi my_settings.txt dosyasını oluşturan bir örneğe bakalım.

Aşağıdaki fonksiyonları kullanacağız.

  • Fopen
  • yaz
  • kapat

Aşağıdaki “create_my_settings_file.php” kodu yukarıdaki örneği uygular.

Dosyasını açın
<?php 

$fh = fopen("my_settings.txt", 'w')

or

die("Failed to create file"); ?>
Bir dosyayı kapatma
<?php

fclose($fh);

?>
Dosya oluştur
<?php 

$fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); 

$text = <<<_END 

localhost;root;pwd1234;my_database 

_END; 

fwrite($fh, $text) or die("Could not write to file"); 

fclose($fh); 

echo "File 'my_settings.txt' written successfully"; ?>    

Kodu test etme

URL'yi aç http://localhost/phptuts/create_my_settings.php Tarayıcınızda.

Aşağıdaki sayfaya ulaşacaksınız

PHP fclose İşlevi

Not: Diskiniz doluysa veya dosya yazma izniniz yoksa hata mesajı alırsınız.

URL'ye geri dön http://localhost/phptuts/file_function.php .

Hangi sonuçları alıyorsunuz?

PHP fgets() İşlevi

fgets fonksiyonu php dosyalarını satır satır okumak için kullanılır. Aşağıdaki temel söz dizimine sahiptir. fgets($handle); BURADA,

  • “$fgets” dosya satırlarını okumak için kullanılan PHP işlevidir
  • “$handle” dosya işaretçisi kaynağıdır.

Şimdi fopen ve fgets fonksiyonlarını kullanarak my_settings.txt dosyasını okuyan bir örneğe bakalım.

Read_my_settings.php'nin altındaki kod yukarıdaki örneği uygular.

<?php
$fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it");
$line = fgets($fh);
echo $line; fclose($fh);
 ?>

İŞTE,

  • “fopen” işlevi işaretçiyi dosya yolunda belirtilen dosyaya döndürür
  • Bir hata oluştuğunda “die()” fonksiyonu çağrılır. Bir mesaj görüntüler ve betiğin yürütülmesini sağlar

PHP kopyala() İşlevi

PHP copy fonksiyonu dosyaları kopyalamak için kullanılır. Aşağıdaki temel söz dizimine sahiptir. copy($file,$copied_file); BURADA,

  • “$file” kopyalanacak dosyanın dosya yolunu ve adını belirtir.
  • “kopyalanan_dosya” kopyalanan dosyanın yolunu ve adını belirtti

Aşağıdaki kod uygulamayı göstermektedir

<?php
copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file");
echo "File successfully copied to 'my_settings_backup.txt'"; 
?>

Bir dosyayı silme

Bağlantıyı kaldırma işlevi dosyayı silmek için kullanılır. Aşağıdaki kod uygulamayı göstermektedir.

<?php
if (!unlink('my_settings_backup.txt'))
{
     echo "Could not delete file";
 }
else
{
     echo "File 'my_settings_backup.txt' successfully deleted"; 
}
 ?>

PHP file_get_contents() İşlev

file_get_contents işlevi tüm dosya içeriğini okumak için kullanılır.

Aşağıdaki kod uygulamayı göstermektedir.

file_get_contents ve fgets arasındaki fark, file_get_contents'in dosya verilerini bir dize olarak döndürmesi, fgets'in ise dosyayı satır satır okumasıdır.

<?php
echo "<pre>"; // Enables display of line feeds
echo file_get_contents("my_settings.txt");
echo "</pre>"; // Terminates pre tag
?>

ÖZET

  • Dosya, verileri depolamak için bir kaynaktır
  • PHP Dosyalarla çalışmayı kolaylaştıran zengin bir yerleşik işlevler koleksiyonuna sahiptir.
  • Yaygın dosya işlevleri arasında fopen, fclose, file_get_contents bulunur
  • Aşağıdaki tablo kapsanan işlevlerin bir özetini göstermektedir
işlev Açıklama
Dosya var Bir dosyanın var olup olmadığını belirlemek için kullanılır
açık Bir dosyayı açmak için kullanılır. Açılan dosyaya bir işaretçi döndürür
yaz Dosyalara yazmak için kullanılır
kapat Kapalı dosyaları açmak için kullanılır
fget'lar Bir dosyayı satır satır okumak için kullanılır
kopya Mevcut bir dosyayı kopyalamak için kullanılır
bağlantısını kaldırmak Mevcut bir dosyayı silmek için kullanılır
file_get_contents Bir dosyanın içeriğini dize olarak döndürmek için kullanılır