Práce se soubory PHP a funkce
Co je to soubor?
Soubor je jednoduše prostředek pro ukládání informací v počítači.
Soubory se obvykle používají k ukládání informací, jako jsou:
- Nastavení konfigurace programu
- Jednoduchá data, jako jsou jména kontaktů oproti telefonním číslům.
- Obrázky, obrázky, fotky atd.
Podpora formátů souborů PHP
Souborové funkce PHP podporují širokou škálu formátů souborů, které zahrnují:
- Soubor.txt
- Soubor.log
- File.custom_extension tj. soubor.xyz
- Soubor.csv
- Soubor.gif, soubor.jpg atd
- Soubory poskytují trvalé nákladově efektivní řešení ukládání dat pro jednoduchá data ve srovnání s databázemi, které vyžadují jiný software a dovednosti pro správu systémů DBMS.
- Chcete ukládat jednoduchá data, jako jsou protokoly serveru, pro pozdější vyhledávání a analýzu
- Chcete uložit nastavení programu, např. program.ini
Funkce PHP file().
PHP poskytuje pohodlný způsob práce se soubory prostřednictvím bohaté sbírky vestavěných funkcí.
Operatingové systémy jako např Windows a MAC OS nerozlišují malá a velká písmena Linux or Unix operační systémy rozlišují velká a malá písmena.
Přijetí převodu pojmenování, jako jsou malá písmena pouze pro pojmenování souborů, je dobrou praxí, která zajišťuje maximální kompatibilitu mezi platformami.
Podívejme se nyní na některé z nejčastěji používaných souborových funkcí PHP.
Funkce PHP file_exists().
Tato funkce se používá k určení, zda soubor existuje nebo ne.
- Hodí se, když chceme před zpracováním zjistit, zda soubor existuje nebo ne.
- Tuto funkci můžete také použít při vytváření nového souboru a chcete se ujistit, že soubor již na serveru neexistuje.
Funkce file_exist má následující syntaxi.
<?php file_exists($filename); ?>
TADY,
- „file_exists()“ je funkce PHP, která vrací true, pokud soubor existuje, a false, pokud neexistuje.
- „$file_name“ je cesta a název souboru, který má být zkontrolován
Níže uvedený kód používá funkci file_exists k určení, zda soubor my_settings.txt existuje.
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Uložte výše uvedený kód do souboru s názvem file_function.php Za předpokladu, že jste soubor uložili do složky phptuts v htdocs, otevřete adresu URL http://localhost/phptuts/file_function.php ve vašem prohlížeči získáte následující výsledky.
Funkce PHP fopen().
K otevírání souborů se používá funkce fopen. Má následující syntaxi
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
TADY,
- „fopen“ je funkce PHP pro otevření souboru
- „$file_name“ je název souboru, který se má otevřít
- „$mode“ je režim, ve kterém by měl být soubor otevřen, níže uvedená tabulka ukazuje režimy
režim | Description |
---|---|
r |
• Číst soubor od začátku. • Vrátí false, pokud soubor neexistuje. • Pouze ke čtení |
r+ |
• Číst soubor od začátku • Vrátí false, pokud soubor neexistuje. • Číst a psát |
w |
• Zapsat do souboru na začátku • zkrátit soubor na nulovou délku • Pokud soubor neexistuje, pokuste se jej vytvořit. • Pouze psát |
w+ |
• Zapsat do souboru na začátku, zkrátit soubor na nulovou délku • Pokud soubor neexistuje, pokuste se jej vytvořit. • Číst a psát |
a |
• Připojit k souboru na konec • Pokud soubor neexistuje, pokuste se jej vytvořit. • Pouze psát |
a+ |
• Php připojit k souboru na konci • Pokud soubor neexistuje, pokuste se jej vytvořit • Číst a psát |
- „$use_include_path“ je nepovinné, výchozí hodnota je nepravda, pokud je nastavena na hodnotu true, funkce vyhledává také v cestě zahrnutí.
- „$context“ je volitelný, lze jej použít k určení kontextové podpory.
Funkce PHP fwrite().
K zápisu souborů se používá funkce fwrite.
Má následující syntaxi
<?php fwrite($handle, $string, $length); ?>
TADY,
- „fwrite“ je funkce PHP pro zápis do souborů
- „$handle“ je prostředek ukazatele souboru
- „$string“ jsou data, která mají být zapsána do souboru.
- „$length“ je nepovinné, lze jej použít k určení maximální délky souboru.
Funkce PHP fclose().
Funkce fclose() se používá k uzavření souboru v php, který je již otevřený
Má následující syntaxi.
<?php fclose($handle); ?>
TADY,
- „fclose“ je Funkce PHP pro uzavření otevřeného souboru
- „$handle“ je prostředek ukazatele souboru.
Podívejme se nyní na příklad, který vytvoří soubor my_settings.txt.
Použijeme následující funkce.
- Fopen
- Fwrite
- fzavřít
Kód níže „create_my_settings_file.php“ implementuje výše uvedený příklad.
Otevřete soubor |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
Zavření souboru |
<?php fclose($fh); ?> |
Vytvořit soubor |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); $text = <<<_END localhost;root;pwd1234;my_database _END; fwrite($fh, $text) or die("Could not write to file"); fclose($fh); echo "File 'my_settings.txt' written successfully"; ?> |
Testování kódu
Otevřete adresu URL http://localhost/phptuts/create_my_settings.php ve vašem prohlížeči.
Získáte následující stránku
Poznámka: Pokud je váš disk plný nebo nemáte oprávnění k zápisu souborů, zobrazí se chybová zpráva.
Přepněte zpět na URL http://localhost/phptuts/file_function.php .
Jaké výsledky získáváte?
Funkce PHP fgets().
Funkce fgets se používá ke čtení souborů php řádek po řádku. Má následující základní syntaxi. fgets($handle); ZDE,
- „$fgets“ je funkce PHP pro čtení řádků souborů
- „$handle“ je prostředek ukazatele souboru.
Podívejme se nyní na příklad, který čte soubor my_settings.txt pomocí funkcí fopen a fgets.
Kód níže read_my_settings.php implementuje výše uvedený příklad.
<?php $fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it"); $line = fgets($fh); echo $line; fclose($fh); ?>
TADY,
- Funkce „fopen“ vrací ukazatel na soubor zadaný v cestě k souboru
- Pokud dojde k chybě, zavolá se funkce „die()“. Zobrazí zprávu a provede spuštění skriptu
Funkce PHP copy().
Ke kopírování souborů se používá funkce kopírování PHP. Má následující základní syntaxi. kopírovat($soubor,$kopírovaný_soubor); ZDE,
- „$file“ určuje cestu k souboru a název souboru, který se má zkopírovat.
- „copied_file“ specifikoval cestu a název zkopírovaného souboru
Níže uvedený kód ilustruje implementaci
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 'my_settings_backup.txt'"; ?>
Mazání souboru
K odstranění souboru slouží funkce unlink. Níže uvedený kód ilustruje implementaci.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 'my_settings_backup.txt' successfully deleted"; } ?>
Funkce PHP file_get_contents().
Funkce file_get_contents se používá ke čtení celého obsahu souboru.
Níže uvedený kód ilustruje implementaci.
Rozdíl mezi file_get_contents a fgets je ten, že file_get_contents vrací data souboru jako řetězec, zatímco fgets čte soubor řádek po řádku.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
Shrnutí
- Soubor je prostředek pro ukládání dat
- PHP má bohatou sbírku vestavěných funkcí, které zjednodušují práci se soubory.
- Mezi běžné funkce souborů patří fopen, fclose, file_get_contents
- Níže uvedená tabulka ukazuje souhrn zahrnutých funkcí
funkce | Description |
---|---|
Soubor existuje | Používá se k určení, zda soubor existuje nebo ne |
otevřít | Používá se k otevření souboru. Vrátí ukazatel na otevřený soubor |
fwrite | Slouží k zápisu do souborů |
fzavřít | Používá se k otevírání uzavřených souborů |
fgets | Používá se ke čtení souboru řádek po řádku |
kopie | Používá se ke kopírování existujícího souboru |
odpojit | Používá se k odstranění existujícího souboru |
file_get_contents | Používá se k vrácení obsahu souboru jako řetězce |