Jet\IO_File
Důležitý rozdíl oproti běžnému použití samotných PHP funkcí je ten, že při selhání operace je vždy vyhozena výjimka Jet\IO_File_Exception.
Používá nastavení Jet\SysConf_Jet_IO::setFileMod() a Jet\SysConf_Jet_IO::setDirMod() pro výchozí práva souborů a adresářů.
Přehled metod
Metoda | Význam | |
---|---|---|
public static exists( string $file_path ): bool |
Indikuje zda soubor existuje (a jedná se o soubor a ne adresář). | |
public static isWritable( string $file_path ): bool |
Indikuje zda je soubor zapisovatelný. | |
public static isReadable( string $file_path ): bool |
Indikuje zda je soubor čitelný. | |
public static getSize( string $file_path ): int |
Vrátí velikost souboru. V případě neúspěchu vyhazuje výjimku. |
|
public static getMimeType( string $file_path, bool $without_charset = true ): string |
Vrací MIME typ souboru. Standardně používá PHP třídu finfo Ovšem je také možné pomocí Jet\SysConf_Jet_IO::setExtensionsMimesMap() nastavit mapu mime typů napojenou na koncovky souborů. |
|
public static write( string $file_path, string $data ): void |
Zapíše data do souboru. Pokud soubor existoval, je přepsán. Pokud neexistovat adresář do kterého má být soubor zapsán, tak je vytvořen. V případě neúspěchu vyhazuje výjimku. |
|
public static append( string $file_path, mixed $data ): void |
Zapíše data do souboru. Pokud soubor existuje, pak jsou data přidána na jeho konec, v opačném případě je soubor vytvořen. Pokud neexistovat adresář do kterého má být soubor zapsán, tak je vytvořen. V případě neúspěchu vyhazuje výjimku. |
|
public static chmod( string $file_path, ?int $chmod_mask = null ): void |
Nastaví práva souboru. Pokud není oprávnění přímo uvedeno, pak je použita výchozí hodnota (Jet\SysConf_Jet_IO::setFileMod()) V případě neúspěchu vyhazuje výjimku. |
|
public static read( string $file_path ): string |
Přečte obsah souboru. Umí číst data z HTTP(s) zdrojů - což je samozřejmé. Ale zároveň si metoda poradí se situací, kdy je HTTP odpověď komprimována (gzip). V případě neúspěchu vyhazuje výjimku. | |
public static rename( string $source_path, string $target_path, bool $overwrite_if_exists = true ): void |
Přejmenuje / přesune soubor. Pokud je parametr $overwrite_if_exists = true a soubor na cílovém místě již existuje, pak je tento nejprve smazán a pak je nahrazen souborem zdrojovým. Pokud je parametr $overwrite_if_exists = false a soubor na cílovém místě již existuje, pak je vyhozena výjimka. V případě neúspěchu vyhazuje výjimku. |
|
public static move( string $source_path, string $target_path, bool $overwrite_if_exists = true ): void |
Alias pro metodu rename. | |
public static copy( string $source_path, string $target_path, bool $overwrite_if_exists = true ): void |
Kopíruje soubor. Pokud je parametr $overwrite_if_exists = true a soubor na cílovém místě již existuje, pak je tento nejprve smazán a pak je nahrazen souborem zdrojovým. Pokud je parametr $overwrite_if_exists = false a soubor na cílovém místě již existuje, pak je vyhozena výjimka. V případě neúspěchu vyhazuje výjimku. |
|
public static delete( string $file_path ): void |
Smaže soubor. V případě neúspěchu vyhazuje výjimku. |
|
public static moveUploadedFile( string $source_path, string $target_path, bool $overwrite_if_exists = true ): void |
Přesune nahraný soubor z dočasného umístění na cílové umístění. Při tom je ověřeno zda se opravdu jedná o nahraný soubor. V případě neúspěchu vyhazuje výjimku. |
|
public static getMaxUploadSize( ): int |
Vrátí maximální možnou velikost nahrávaných souborů v bajtech. Zohledňuje jak upload_max_filesize, tak post_max_size. |
|
public static getMaxFileUploads( ): int |
Vrátí teoretický maximální počet paralelně nahrávaných souborů. | |
public static send( string $file_path, ?string $file_name = null, ?string $file_mime = null, ?int $file_size = null, bool $force_download = false ): void |
Odešle daný soubor ke stažení. Při tom nastaví HTTP hlavičky. Jediný povinný parametr je plná cesta k souboru a vše ostatní (typ, velikost, název) metoda zjistí sama. Parametr $force_download odešle HTTP hlavičky v té formě, která přiměje klientský prohlížeč nabídnout soubor rovnou k uložení. |
|
public static getHttpResponseHeader( ): array |
Pokud pomocí metody IO_File::read() stáhnete soubor z HTTP zdroje, pak tato metoda poskytne http hlavičky odpovědi. | |
public static writeDataAsPhp( string $path, array $data, bool $reset_cache=true ) : void |
Zapíše data v podobě PHP souboru - používá se pro interní účely. |