Skip to content

Třída File

Utility pro operace se jednotlivými soubory. Statická třída s metodami pro kopírování, přejmenování, zápis a smazání souborů.

Všechny operace automaticky nastavují oprávnění souborů pomocí konstant z třídy FileSystem: - Nové soubory: FileSystem::DEFAULT_FILE_PERMISSIONS (0666)


Klíčové metody

Metoda Popis
copy(string $old, string $new, bool $showMessage = false): bool Zkopíruj soubor
rename(string $old, string $new, bool $showMessage = false): bool Přejmenuj soubor
write(string $filename, string $content = '', bool $showMessage = false): bool Zapiš obsah do souboru
delete(string $filename, bool $showMessage = false, bool $full = false): ?bool Smaž soubor nebo adresář

Metody

File::copy(string $old_filename, string $new_filename, bool $showMessage = false): bool

Kopíruje soubor z jedného místa na druhé.

Chování:

  • Nedokáže kopírovat adresáře (vrátí false)
  • Na novém souboru nastaví oprávnění 0666
  • Pokud $showMessage = true, zobrazí zprávu o úspěchu/chybě

Parametry:

  • $old_filename – zdrojový soubor
  • $new_filename – cílový soubor
  • $showMessage – zobrazit zprávu?

Návratová hodnota:

  • true pokud byla kopie úspěšná
  • false pokud selhala (zdroj neexistuje, je to adresář, atd.)

Příklad:

use Petrovo\FileSystem\File;

if (File::copy('/var/www/old.txt', '/var/www/new.txt', true)) {
    // Soubor byl zkopírován
    // showMessage vypíše: "Success, file copied! (old.txt => new.txt)"
}


File::rename(string $old_filename, string $new_filename, bool $showMessage = false): bool

Přejmenuje soubor nebo adresář.

Chování:

  • Pokud je zdroj adresář, deleguje na Dir::rename()
  • Pokud $showMessage = true, zobrazí zprávu o úspěchu/chybě

Parametry:

  • $old_filename – stará cesta
  • $new_filename – nová cesta
  • $showMessage – zobrazit zprávu?

Návratová hodnota:

  • true pokud bylo přejmenování úspěšné
  • false pokud selhalo

Příklad:

use Petrovo\FileSystem\File;

File::rename('/var/www/old_name.txt', '/var/www/new_name.txt', true);
// Výstup: "Success, file renamed! (old_name.txt => new_name.txt)"


File::write(string $filename, string $content = '', bool $showMessage = false): bool

Zapíše obsah do souboru.

Chování:

  • Normalizuje konce řádků na \n pro určité typy (yaml, html, php, css, js, txt)
  • Kontroluje, zda je existující soubor zapisovatelný
  • Nastaví oprávnění na 0666 po zápisu
  • Pokud $showMessage = true, zobrazí zprávu

Parametry:

  • $filename – cesta k souboru
  • $content – obsah k zapsání
  • $showMessage – zobrazit zprávu?

Návratová hodnota:

  • true pokud byl zápis úspěšný
  • false pokud selhalo

Příklad:

use Petrovo\FileSystem\File;

$content = "Hello, World!\nLine 2";
File::write('/var/www/test.txt', $content, true);
// Výstup: "Success, wrote content to file! (test.txt)"


File::delete(string $filename, bool $showMessage = false, bool $full = false): ?bool

Smaže soubor nebo adresář.

Chování:

  • Pokud je cíl adresář, deleguje na Dir::delete()
  • Pokud $showMessage = true, zobrazí zprávu o úspěchu/chybě
  • Vrací null v některých hraničních případech

Parametry:

  • $filename – cesta k souboru nebo adresáři
  • $showMessage – zobrazit zprávu?
  • $full – pro adresáře: smaž i když obsahuje soubory?

Návratová hodnota:

  • true pokud bylo smazání úspěšné
  • false pokud selhalo
  • null v některých hraničních případech

Příklad:

use Petrovo\FileSystem\File;

File::delete('/var/www/old_file.txt', true);
// Výstup: "Success, file deleted! (old_file.txt)"


Shrnutí

Třída File je určena pro operace se soubory. Pro práci s adresáři používej Dir, pro hromadné operace Files.