110 likes | 257 Views
PHP – funkcie pre prác u so súbormi. Ing. Danica Bačová, 2006. kontrola existencie s ú boru : ak súbor MenoSub existuje =>TRUE neexistuje => FALSE. <? $subor=“zdroje/zoznam.txt”; if (! file_exists($subor) ) echo “ Chyba!“ ; else {... pr í ka zy pre pr á cu so s ú borom ...}
E N D
PHP – funkcie pre prácu so súbormi Ing. Danica Bačová, 2006
kontrola existencie súboru: ak súbor MenoSub existuje =>TRUE neexistuje => FALSE <? $subor=“zdroje/zoznam.txt”; if (!file_exists($subor))echo “Chyba!“; else {... príkazy pre prácu so súborom ...} ?> File_Exists(“cesta/MenoSub”) Najskôr treba zistiť, či náš súbor existuje!
otvorí súbor v predpísanom móde: 'r'–otvorí na čítanie 'w'– otvorí na zápis, ak neexistuje vytvorí, inak vymaže 'a'– zápis na koniec súboru, ak neexistuje, tak ho vytvorí Otvorme súbor pre prácu FOpen($subor,mód); <?if (!file_exists($subor)) echo “Chyba!“; else {$sub=fopen($subor,'r'); ... príkazy pre prácu so súborom ... } ?>
test konca súboru FEof($sub); FClose($sub); Dokedy môžem so súborom robiť? • zatvorenie súboru <?if (!file_exists($subor)) echo “Chyba!“; else { $sub=fopen($subor,'r'); while(!feof($sub)) { ...príkazy pre spracovanie údajov zo súboru ... } fclose($sub); } ?>
prečítanie jedného riadku zo súboru $sub N (číslo) definuje max. počet znakov v riadku (bez zadania hodnoty = 1024) Čítajme po riadkoch FGetS($sub,N); <?if (!file_exists($subor)) echo “Chyba!“; else {$sub=fopen($subor,'r'); while(!feof($sub)) { $riadok = fgets($sub,550); } fclose($sub); } ?>
"Rozsekajme" riadok na prvky poľa Explode('char',$r); • rozdelí reťazec $r na časti oddelené znakom 'char'; napr. • '\t' – tabulátor • '\n' – ukončenie riadku • jednotlivé časti reťazca môžeme uložiť do poľa ($riadok = explode("\t",$riadok);), získame:$riadok[0], $riadok[1],... <? ...else { $sub=fopen($subor,'r'); while(!feof($sub)) { $riadok = fgets($sub,550); $riadok = explode("\t",$riadok); } fclose($sub); } ?>
Vypíšme obsah súboru (pole) Echo ...; • Ako vypisujeme: • Echo "text"; • Echo $premenna; • Echo "<div class=\"mc\">text</div>".$premenna; <?if (!file_exists($subor)) echo “Chyba!“; else { $sub=fopen($subor,'r'); echo "<table>"; while(!feof($sub)) { $riadok = fgets($sub,550); $riadok = explode("\t",$riadok); echo "<tr><td>".$riadok[0]."</td><td>" .$riadok[1]."</td></tr>"; } echo "</table>"; fclose($sub);} ?>
zápis do súboru Chceme do súboru zapísať Fwrite($sub,'ZapisovaneUdaje') <?... $sub=fopen($subor,'w'); //pozor na mód: w- premaže pôvodné údaje, a – pridá na koniec FWrite($sub,$data); ... ?>
Tipy • Uvedený príklad je vhodný na čítanie tabuľky údajov v textovom formáte oddelené tabulátorom • Pre aktualizáciu textového súboru na serveri môžete použiť web rozhranie s formulárom
<?if (!$odoslat) {echo "<FORM method=\"POST\" enctype=\"multipart/form-data\">"; echo "<b>Súbor:</b>"; echo "<INPUT type=\"FILE\" name=\"subor\">"; echo "<INPUT type=\"submit\" name=\"odoslat\" value=\"Odošli\">";echo "</FORM>";} else { $nazov="CestaKdeUlozitSubor/".$subor_name; if(move_uploaded_file($subor,$nazov)) echo "Súbor ".$subor_name." bol zapísaný na server";else echo "Chyba pri zápise!";} ?> Formulár na odoslanie súboru
Viac o PHP • http://www.php.sk • http://sk.php.net