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 |


