PHP soubory
Pro výukové účely na SPŠ Zlínvytvořil RNDr.Vladimír Vaščák
PHP
Úvod
fopen
file_exists
fgets
fclose
fputs
Další funkce
Ukázky
Úkol
1.
Úvod
Protože na školním výukovém serveru není nainstalován databázový server MySQL, budeme pracovat pouze se soubory.
Všechny informace získáte na
Manuál PHP.
Funkce pro práci ze soubory na
Funkce filesystému.
2.
fopen
Otevře soubor nebo URL
int fopen (string filename, string mode [, int use_include_path]) Mode:
r
- pouze pro čtení; ukazatel na začátek souboru
r+
- pro čtení a zápis; ukazatel na začátek souboru
w
- pouze pro zápis; ukazatel na začátek souboru a zkrátí soubor na nulovou délku; pokud soubor neexistuje, pokusí se ho vytvořit
w+
- pro čtení a zápis; ukazatel na začátek souboru a zkrátí soubor na nulovou délku; pokud soubor neexistuje, pokusí se ho vytvořit
a
- pouze pro zápis; ukazatel na konec souboru; pokud soubor neexistuje, pokusí se ho vytvořit
a+
- pro čtení a zápis; nastaví ukazatel na konec souboru; pokud soubor neexistuje, pokusí se ho vytvořit
3.
file_exists
Zjistí zda soubor existuje.
bool file_exists (string filename)
4.
fgets
Přečte řádek ze souboru.
string fgets (int fp, int length) Vratí řetězec o délce maximálně length - 1 byte přečtený ze souboru.
5.
fclose
Zavře otevřený soubor.
int fclose (int fp)
Příklad:
$soubor = "pokus.txt";
if (file_exists($soubor)) { // existuje soubor
$fp = fopen($soubor, "r"); // otevření souboru
}
if (!$fp) {
return; //nepodařilo se otevření
}
$vysledek = fgets($fp,50); // přečtení souboru
fclose($fp); // zavření souboru
echo $vysledek;
Ukázka:
Klik
6.
fputs nebo fwrite
Zapíše zvolený textový řetězec do vybraného souboru.
int fputs (int fp, string str [, int length])
7.
Další funkce
int filesize (string filename)
- vrátí velikost souboru
string fread (int fp, int length)
- binární čtení ze souboru
int fseek (int fp, int offset [, int whence])
- posune ukazatel v souboru
int rewind (int fp)
- posune ukazatel na začátek
string fgetc (int fp)
- přečte jeden znak ze souboru
int feof (int fp)
- test konce souboru
string fgetss (int fp, int length [, string allowable_tags])
- přečte řádek ze souboru a odstraní HTML značky
Zjistí zda soubor existuje.
bool file_exists (string filename)
8.
Ukázky Pro jednoduchost skriptů neprovádím žádné ošetření chyb.
Přečtení této stránky bez značek.
<?php
$fp = fopen("php04.html", "r");
while (!feof($fp)) {
$data = fgetss($fp, 1024);
echo $data;
}
fclose($fp);
?>
Stránka s počitadlem.
<?php
function pocitej () {
$fp = fopen("pocitadlo.txt", "r+"); //otevřeme soubor
$pocet = fgets($fp,6) + 1; //přečteme hodnotu a zvětšíme o 1
rewind($fp); //přesuneme ukazatel na začátek
fputs($fp, $pocet); //vložíme novou hodnotu
fclose($fp); //zavřeme soubor
echo "<h1>počet přístupů: ".$pocet."</h1>"; //vypíšeme hodnotu
}
pocitej();
?>
5.
Úkol
Vložte na svou úvodní stránku počitadlo.
Pozor
soubor z hodnotou počítadla "např. pocitadlo.txt" musíte nastavit na zápis.
Soubor
index.html
přejmenujte na
index.php.
Soubor
index.html
v adresáři
public_html
pak smažte.
© 2007 Pro výuku na SPŠ Zlín připravil RNDr. Vladimír Vaščák