Funkcija file_put_contents PHP - kaj je to? Opis, primeri

27. 2. 2019

V programskem jeziku PHP je file_put_contents funkcija, ki zapiše podatke v datoteko z ekvivalentom fopen (), fwrite (), nasproti operandov fread () in fclose (). Za vnos sprejema dva parametra: ime datoteke in vsebino, ki jo je treba napisati, s tretjim neobveznim parametrom, ki določa dodatne značilnosti operacije. Če je izračun datoteke file_put_contents v PHP-ju uspešno zaključen, vrne število zapisanih bajtov v datoteko.

File_put_contents v PHP - kaj je to? Primeri

Algoritem:

  • v primeru, ko je USE_INCLUDE prednastavljen, se preveri pot za vključitev kopije * filename *;
  • je datoteka ustvarjena, če ne obstaja;

  • odprta datoteka;

  • datoteka je zaklenjena, če je nastavljena LOCK_EX;

  • skript gre na konec datoteke, sicer se vsebina izbriše.

  • zapisovanje podatkov v datoteko;

  • zapiranje in odklepanje datoteke.

Ta operand vrne število znakov, zapisanih v datoteko, po uspešnosti ali FALSE ob napaki.

Uporaba funkcionalnosti je zelo preprosta. Primer:


$ myarray [] = "To je prvi niz";
$ myarray [] = "To je druga vrstica";
$ myarray [] = "To je niz treh";
$ mystring = implode ("n", $ myarray);
$ numbytes = file_put_contents ($ filename, $ mystring);
print "$ numbytes bytes je napisano n";
?> datoteka je vsebina php

Ne pozabite, da morate najprej nastaviti ime datoteke $. Poleg tega je skript preprost, mora izpisati »52 bajtov«, kar je vsota treh vrstic besedila in dveh novih znakov, ki se uporabljajo za matriko implode (). Znak nove vrstice je dejansko le en znak znotraj datotek, PHP pa ga uporablja z dvema in n.

Lahko prenesete tretji parameter file_put_contents v PHP, da dodate besedilo v vaš drugi parameter obstoječemu besedilu v datoteki. Če ne uporabljate FILE_APPEND, bo obstoječe besedilo očiščeno in zamenjano, kar ni vedno želeno vedenje skripta.

Možne napake

Pri pisanju scenarija za pošto, ki na daljavo preverja naš poštni strežnik, lahko pride do težav. On mora prenesti priloge in jih kopirati v imenik na lokalnem intranetnem spletnem strežniku. php opozorilna datoteka postavi vsebino

Skript prebere poštno pošto, vendar lahko pri delu s prilogami pride do težave:

Opozorilo PHP: file_put_contents: Ne morem odpreti tok: dovoljeno v C: inetpubwwwrootquotation_testloglog_mailcheck.php na liniji 107.

Rešitev je preveriti direktivo open_basedir v php.ini. Morate ugotoviti, ali obstaja imenik C: inetpubwwwrootquotation_testlogscans ?, in ga po potrebi dodajte.