PHP’de dosya ve dizin işlemleri oldukça yaygın bir konudur. Bu işlemler, web uygulamalarında dosya oluşturma, silme, okuma ve yazma gibi temel görevleri yerine getirmek için kullanılır. Bu yazıda, PHP’de dosya ve dizin işlemleri hakkında bilmeniz gerekenleri anlatacağız ve bazı kod örnekleriyle açıklayacağız.
Dosya İşlemleri
PHP’de dosya işlemleri, fopen(), fclose(), fread() ve fwrite() fonksiyonları kullanılarak gerçekleştirilir. Bu fonksiyonlar, dosyaları açmak, okumak ve yazmak için kullanılır.
Dosya Oluşturma
Dosya oluşturmak için fopen() fonksiyonunu kullanabilirsiniz. İşte bir örnek:
$file = fopen("example.txt", "w");
fclose($file);
Bu kod, “example.txt” adında bir dosya oluşturur. Dosya oluşturulduktan sonra, dosya kapatılır.
Dosya Okuma
Dosya okumak için fread() fonksiyonunu kullanabilirsiniz. İşte bir örnek:
$file = fopen("example.txt", "r");
echo fread($file,filesize("example.txt"));
fclose($file);
Bu kod, “example.txt” dosyasını açar, dosyanın boyutunu okur ve dosyanın tamamını okur. Daha sonra, dosya kapatılır ve içeriği ekrana yazdırılır.
Dosya Yazma
Dosya yazmak için fwrite() fonksiyonunu kullanabilirsiniz. İşte bir örnek:
$file = fopen("example.txt", "w");
$txt = "Bu dosyaya yazıldı\n";
fwrite($file, $txt);
$txt = "Başka bir satır da yazıldı\n";
fwrite($file, $txt);
fclose($file);
Bu kod, "example.txt" dosyasını açar ve iki satır yazdırır. Daha sonra, dosya kapatılır.
Dizin İşlemleri
PHP’de dizin işlemleri, mkdir(), rmdir(), opendir() ve readdir() fonksiyonları kullanılarak gerçekleştirilir. Bu fonksiyonlar, dizinleri oluşturmak, silmek, açmak ve okumak ve düzenlemek için kullanılabilir.
mkdir() Fonksiyonu
mkdir() fonksiyonu, yeni bir dizin oluşturmak için kullanılır. Fonksiyonun birinci parametresi, oluşturulacak dizinin ismini ve yolu içerir. İkinci parametre ise, dizinin izinlerini belirler. Aşağıdaki örnekte, “uploads” adında bir dizin oluşturulur:
<?php
if (!file_exists('uploads')) {
mkdir('uploads', 0777, true);
echo 'Dizin oluşturuldu!';
} else {
echo 'Dizin zaten mevcut!';
}
?>
rmdir() Fonksiyonu
rmdir() fonksiyonu, mevcut bir dizini silmek için kullanılır. Aşağıdaki örnekte, “uploads” dizini silinir:
<?php
if (file_exists('uploads')) {
rmdir('uploads');
echo 'Dizin silindi!';
} else {
echo 'Dizin bulunamadı!';
}
?>
opendir() ve readdir() Fonksiyonları
opendir() fonksiyonu, belirtilen dizini açar ve dizin işaretçisi döndürür. readdir() fonksiyonu ise, dizin işaretçisi tarafından işaretlenen dizindeki bir sonraki dosya adını döndürür. Aşağıdaki örnekte, “uploads” dizinindeki tüm dosya ve dizinler listelenir:
<?php
$dir = 'uploads';
// Dizini aç
if ($handle = opendir($dir)) {
echo "Dizin içeriği:<br>";
// Dizin işaretçisi ile tüm dosya ve dizinler listelenir
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
echo "$entry<br>";
}
}
// Dizin işaretçisini kapat
closedir($handle);
}
?>
Dosya İşlemleri
PHP’de dosya işlemleri, fopen(), fread(), fwrite(), fclose(), feof() ve file_exists() fonksiyonları kullanılarak gerçekleştirilir.
fopen() Fonksiyonu
fopen() fonksiyonu, belirtilen dosyayı açar ve dosya işaretçisi döndürür. Aşağıdaki örnekte, “example.txt” dosyası açılır ve dosya işaretçisi $file olarak atanır:
<?php
$file = fopen("example.txt", "r") or die("Dosya açılamadı!");
echo fread($file,filesize("example.txt"));
fclose($file);
?>
fread() Fonksiyonu
fread() fonksiyonu, dosya işaretçisi tarafından işaretlenen dosyadan belirtilen sayıda bayt okur. Aşağıdaki örnekte, “example.txt” dosyasından 10 bayt okunur:
$dosya = fopen("example.txt", "r");
$icerik = fread($dosya, 10);
fclose($dosya);
echo $icerik;
Bu kodu çalıştırdığımızda, “example.txt” dosyasındaki ilk 10 karakteri ekrana yazdıracaktır.
fwrite() fonksiyonu, dosya işaretçisi tarafından işaretlenen dosyaya belirtilen metni yazar. Aşağıdaki örnekte, “example.txt” dosyasına “Merhaba Dünya!” yazdıran bir PHP kodu bulunmaktadır:
$dosya = fopen("example.txt", "w");
fwrite($dosya, "Merhaba Dünya!");
fclose($dosya);
Bu kodu çalıştırdığımızda, “example.txt” dosyasına “Merhaba Dünya!” yazacaktır.
unlink() fonksiyonu, belirtilen dosyayı siler. Aşağıdaki örnekte, “example.txt” dosyasını silen bir PHP kodu bulunmaktadır:
unlink("example.txt");
opendir() fonksiyonu, belirtilen dizini açar ve bu dizindeki dosya ve klasörleri okumamızı sağlar. Aşağıdaki örnekte, “example” dizinindeki tüm dosya ve klasörleri ekrana yazdıran bir PHP kodu bulunmaktadır.
$dizin = "example";
if (is_dir($dizin)) {
if ($dh = opendir($dizin)) {
while (($dosya = readdir($dh)) !== false) {
echo $dosya . "<br>";
}
closedir($dh);
}
}
Bu kodu çalıştırdığımızda, “example” dizinindeki tüm dosya ve klasör isimleri ekrana yazdırılacaktır.
mkdir() fonksiyonu, belirtilen dizini oluşturur. Aşağıdaki örnekte, “example” dizinini oluşturan bir PHP kodu bulunmaktadır:
$dizin = "example";
if (!is_dir($dizin)) {
mkdir($dizin);
}
Bu kodu çalıştırdığımızda, eğer “example” dizini yoksa oluşturacaktır.
rmdir() fonksiyonu, belirtilen dizini siler. Aşağıdaki örnekte, “example” dizinini silen bir PHP kodu bulunmaktadır:
$dizin = "example";
if (is_dir($dizin)) {
rmdir($dizin);
}
Bu kodu çalıştırdığımızda, eğer “example” dizini varsa siler. Ancak, dizindeki dosya veya klasörler varsa, dizin silinmez. Bu nedenle, önce dizindeki dosya ve klasörleri silmek gerekebilir.