headerphoto

Práce se soubory

Soubory slouží k uchování dat, můžeme je vytvářet, mazat, kopírovat, načítat atd.

Příkazy pro načtení skriptů - require, include a include_once

Při rutinní tvorbě stránek pomocí skriptů se velice často setkáme s potřebou na- čítání jiných skriptů či částí stránek. Načítané soubory mohou obsahovat předde- finované funkce, které používáme na více stránkách, nebo třeba standardizované hlavičky a patičky stránek.

Příkaz require slouží k načtení skriptu ze souboru. Načítaný skript se vloží v místě použití příkazu. Provedou se všechny jeho příkazy a poté se v provádění pokračuje příkazem uvedeným za require. Tento příkaz se provede pouze jednou. Pokud bychom ho volali v cyklu a chtěli načíst soubor vícekrát, načte se soubor pouze při prvním průchodu cyklem.

Pro opakované čtení souborů je potřeba využít příkaz Include.

Include_once načtení souboru pouze jednou

Změna přístupových práv souboru

Pokud PHP skripty, které mění obsah některých souborů nepracují správně, je to často způsobeno špatným nastavením přístupových práv souboru. Atributy lze změnit pomocí Total Commanderu, Farmanageru., PSpadu…

Otevření souboru $soubor=fopen("cesta/jmeno_souboru", "režim")

RežimPopis
aOtevř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ří
rOtevře soubor pouze pro čtení
r+Otevře soubor pro čtení a zápis
wOtevř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ří

Funkce fclose($soubor) zavírá soubor.

Čtení dat ze souboru:

Metoda fread() přečte ze souboru prvních N znaků. Obvykle je třeba načíst celý soubor, je tedy nutné zjistit počet jeho znaků. To lze pomocí metody filesize($soubor), která vrátí počet znaků vybraného souboru.

<?php
$soubor = fopen("soubor.txt", "r");	//otevření souboru
$text = fread($soubor, N);		//přečtení N znaků ze souboru echo($text);
fclose($soubor);
?>

Metoda fgets čte soubor jeden řádek po druhém. Funkce explode rozebere řetězec na jednotlivé elementy podle daného znaku, např. |. Elementy lze okamžitě přiřadit do separátních proměnných, které jsou definovány v závorkách funkce list():

<?php
 $f=fopen("stud.txt","r");
  while(($data = fgets($f))!=NULL)
         {          
          list( $jmeno, $prijmeni, $vek, $mesto, $psc)=explode("|", $data); 
          }
?>

Readfile (‘cesta/jmeno_souboru’) zobrazí obsah celého souboru

Uložení souboru

Pomocí metody fwrite(id_souboru, "text") zapíšeme text na konec vybraného souboru:

 
<?php
$text = "cokoli, co chcete uložit do souboru";
$soubor = fopen("soubor.txt", "a+");
fwrite($soubor, $text);  //fputs($soubor, $text);
fclose($soubor);
?>

Pokud soubor neexistuje, je vytvořen .(pozor na práva pro zápis)

Odstranění

Pro odstranění souboru se užívá metoda unlink(název souboru)

Design downloaded from Free Templates - your source for free web templates