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.
<?php
$fp = fopen("php04.html", "r");
while (!feof($fp)) {
$data = fgetss($fp, 1024);
echo $data;
}
fclose($fp);
?>
<?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.