PHP prakticky/Upravování souborů
Tato kapitola popisuje PHP funkce pro práci se soubory, pro které je nutné soubor nejprve otevřít. Jako důležitý prvek ale i funkci pro ověření existence souboru.
Ověření existence souboru
editovatFunkce file_exists() se používá jako podmínka IF. Přesná syntaxe je snad jasná z příkladu:
if(file_exists("soubor.txt")) {
echo "Soubor soubor.txt existuje!";
} else {
echo "Soubor soubor.txt neexistuje!";
}
Otevření a zavření souboru
editovatAbychom mohli používat následující funkce, musíme soubor nejdříve otevřít a nakonec zase zavřít. Obojí se dělá následovně:
// Otevření souboru
$relace = fopen("soubor.txt","w");
// Zavření souboru
fclose($relace);
Při otvírání souboru musíme zadat ještě další parametr. (V příkladu to je to "w") Tento parametr určuje, jak se má soubor otevřít. Možnosti:
a | Otevře soubor pro přidání, pokud soubor neexistuje PHP jej vytvoří |
---|---|
a+ | Otevře soubor pro přidávání a čtení, pokud soubor neexistuje PHP jej vytvoří |
r | Otevře soubor pouze pro čtení |
r+ | Otevře soubor pro čtení a zápis |
w | Otevře soubor pro zápis, původní data budou ztracena. Pokud soubor neexistuje PHP jej vytvoří |
w+ | Otevře soubor pro zápis a čtení, původní data budou ztracena, pokud soubor neexistuje PHP jej vytvoří |
Čtení dat ze souboru
editovatData z otevřeného souboru se čtou funkcí fread(). Parametry jsou relace a počet znaků ze souborů, které má funkce přečíst.
$relace = fopen("soubor.txt", "r"); // Otevřeme soubor
$text = fread($relace, 10); // Do proměné $text načteme prvních 10 znaků ze souboru
echo $text; // Vypíšeme proměnou $text na obrazovku
fclose($relace); // Zavřeme soubor
Zápis dat do souboru
editovatData do otevřeného souboru můžeme zapsat funkcí fwrite(). Parametry jsou relace a text na zapsání do souboru.
$text = "Toto je budoucí obsah souboru"; // Určíme text na zapsání do souboru
$relace = fopen("soubor.txt", "w"); // Otevřeme soubor
fwrite($relace,$text); // Zapíšeme text do souboru
fclose($relace); // Zavřeme soubor
Ostatní funkce pro práci se soubory nevyžadují předchozí otevření a najdete je zde.