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 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
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 |