Dosya İşlemleri - muhametsafak/phpxi Wiki

Projenizde dosyaları daha kolay şekilde kullanmanızı ve yönetmenizi sağlayacak basit bir kütüphanedir. Kontrolcü (Controller) ya da Modüllerde $this->file ile erişebilirsiniz. Görünüm (View) dosyalarında ise File ile metotlarına erişim sağlayabilirsiniz.


Dosyanın Varlığını Kontrol Etmek

Bir dosyanın var olup olmadığını kontrol etmek için exists() metodu kullanılır.

public function exists(string $path): bool

String türünde kontrol edilecek dosyanın yolunu (path) alır.

Örnek:

File::exists("/file.php");

ya da

$this->file->exists("/file.php");

/file.php yolunda bir dosya olup olmadığını kontrol eder. Varsa true yoksa false döndürür.


Dosya İçeriğini Okuma

Bir dosyanın içeriğine erişmek için read() metodu kullanılır.

public function read(string $path): string|bool

String türünde içeriğine erişilecek dosyanın yolunu (path) parametre olarak alır.

File::read("/files/read.txt");

ya da

$this->file->read("/files/read.txt");

/files/read.txt dosyasının içeriğini String türünde döndürür. Dosya bulunamaz ya da bir hata oluşursa false döner.


Dosya İçini Boşaltma

empty() metodu bir dosyanın kendisini koruyarak içeriğini silmeye çalışır.

public function empty(string $path): bool

String türünde içeriği silinmek istenen dosyanın yolunu (path) parametre olarak alır. İşlem başarılı olursa true, başarısız olursa false döndürür.

File::empty("file.txt");

ya da

$this->file->empty("file.txt");

Dosyaya İçerik Ekleme

Bir dosyaya istenilen değeri yazmaya çalışır. İşlem yapılırken dosyanın eski içeriği korunur ve dosyanın sonuna ekleme yapılır.

public function write(string $text, string $path): bool

String türünde aldığı birinci parametreyi, String türünde aldığı ikinci parametre olarak aldığı dosya yolundaki dosyaya yazmaya çalışır.

Başarılı olursa true, başarısız olursa false döner.

Örnek:

File::write("eklenecek metin", "file.txt");

ya da

$this->file->white("eklenecek metin", "file.txt");

Dosya İçeriğini Değiştirme

Bir dosya içeriğini istenen değer ile değiştirimeye çalışır. İşlem yapılırken dosyanın eski içeriği silinir.

public function rewrite(string $text, string $path): bool

String türünde iki parametre alır. İlk parametre yazılacak içeriktir. İkinci parametre dosyanın yolunu belirtir.

İşlem başarılı olursa true, başarısız olursa false döndürür.

Örnek:

File::rewrite("yeni içerik", "file.txt");

ya da

$this->file->rewrite("yeni içerik", "file.txt");

Dosyanın Son Değişiklik Zamanı

Bir dosyanın en son değişiklik zaman damgasını INT olarak döndürür. Dosya bulunamazsa false döndürür.

public function time(string $path): int|bool

String türünde dosya yolunu parametre olarak alır.

Örnek:

File::time("file.txt");

ya da

$this->file->time("file.txt");

Tarih olarak almak için PHP'nin date() fonksiyonuna ikinci parametre olarak verilebilir.

echo date("Y-m-d H:i:s", File::time("file.txt"));

Dosya Boyutunu Öğrenme

Bir dosyanın byte cinsinden INT türünde boyutunun döndürür. Dosya bulunamazsa false döner.

public function size(string $path): int|bool

Örnek:

File::size("file.txt");

ya da

$this->file->size("file.txt");

Dosya Türü

Bir dosyanın gerçek dosya türü (MIME Type) döndürür. Örneğin .txt uzantılı metin belgesi plain/text olmalıdır. Dosya bulunamazsa false döndürür.

public function mime(string $path): string|bool

Örnek:

File::mime("file.txt");

ya da

$this->file->mime("file.txt");

Dosya Kopyalama

Bir dosyayı kopyalamak için copy() metodu kullanılır.

public function copy(string $new_path, string $old_path): bool

İşlem başarılı olursa true, başarısız olursa false döner.

Örnek:

File::copy("/file/yeni.txt", "/file/eski.txt");

ya da

$this->file->copy("/file/yeni.txt", "/file/eski.txt");

Dosya Taşıma

Bir dosyanın konumunu değiştirmek ya da taşımak için move() metodu kullanılır.

public function move(string $new_path, string $old_path): bool

İşlem başarılı olusa true, başarısız olursa false döndürür.

Örnek:

File::move("/yeni-dizin/yeni-isim.txt", "/eski-dizin/tasinacak-dosya.txt");

ya da

$this->file->move("/yeni-dizin/yeni-isim.txt", "/eski-dizin/tasinacak-dosya.txt");

Dosyayı Yeniden Adlandırma

Bir dosyanın adını değiştirmek için rename() metodu kullanılır. move() metodu ile aynı işlemi yapar.

public function rename(string $new_name, string $old_name): bool

İşlem başarılı olursa true, başarısız olursa false döndürür.

Örnek:

File::rename("yeni.txt", "eski.txt");

ya da

$this->file->rename("yeni.txt", "eski.txt");