Da bi shranili podatke v datoteko, obstaja posebna funkcija v datoteki PHP_put_contents (). Z njegovo pomočjo lahko podatke zapisujete v datoteko na različne načine. Razmislite o vseh primerih PHP-datotečnih_sredstev.
Zgornja metoda je zelo preprosta. Ne razkriva vseh značilnosti funkcije in je primerna samo za prikazovanje njenega dela.
Konec koncev, ne pozabite, da lahko ta način snemanja ne deluje na delovnem mestu. Ker lahko datoteka prejme zahtevo za branje in pisanje hkrati. Da bi se izognili takšnim incidentom, morate skriptu dati izključni dostop do datoteke. V ta namen uporabite zastavico LOCK_EX za zaklepanje.
file_put_contents (document.txt, $ info, LOCK_EX);
?>
Zdaj z uporabo LOCK_EX bodo vse zahteve obdelane.
V zgornjih primerih funkcija file_put_contents () formatira datoteko, preden vanj vpiše nove informacije. Prav tako lahko brez brisanja prejšnjih podatkov shranite novo na konec z uporabo zastavice FILE_APPEND.
Če je zapis uspešen, funkcija vrne vrednost kot velikost datoteke v bajtih in v primeru napake vrne vrednost FALSE. Če poznate te informacije, lahko preverite, kot je navedeno v zgornjem primeru.
Za zapisovanje nizov v datoteko lahko uporabite isto funkcijo, toda pred tem mora biti matrika serijsko. Z drugimi besedami, pretvorite ga v besedilo. In po pisanju, deserialize vse nazaj v polje.
$ mass = array (1,2,3); // To je matrika.
$ document = 'document.txt'; // Datoteka.
$ info = serialize ($ mass); // Tukaj je matrika serijalizirana.
file_put_contents ($ document, $ info); // Zapiši jo v datoteko.
$ info = file_get_contents ($ document); // Branje datoteke.
$ mass = unserialize ($ info); // Deserizacija podatkov datoteke za vrnitev matrike v prvotno stanje.
?>
Obstaja še ena možnost za zapisovanje podatkov prek PHP - z uporabo funkcij fopen (), fwrite (), fclose (). Podobne so PHP file_put_contents (), vendar omogočajo podrobnejši pristop k pisanju scenarija, ki izvaja različne operacije z datotekami.
Pri uporabi funkcije fopen () morate določiti način njegovega delovanja.
V tem primeru lahko funkcija fopen () z načinom "W" (pisanje) zapiše podatke samo v datoteko. Zato bo njegova vsebina izbrisana. In če ni datoteke s tem imenom, jo bo skript ustvaril.
$ file = fopen ($ document, "w +"); // Odpri datoteko.
Potem je datoteka zapisana: