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

editovat

Funkce 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

editovat

Abychom 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

editovat

Data 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

editovat

Data 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.