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.
Předchozí kapitola
I/O
Další kapitola
Jet\IO_Dir