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:
truepokud byla kopie úspěšnáfalsepokud 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:
truepokud bylo přejmenování úspěšnéfalsepokud 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
\npro určité typy (yaml, html, php, css, js, txt) - Kontroluje, zda je existující soubor zapisovatelný
- Nastaví oprávnění na
0666po 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:
truepokud byl zápis úspěšnýfalsepokud 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í
nullv 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:
truepokud bylo smazání úspěšnéfalsepokud selhalonullv 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.