Funkcja PHP file_put_contents - co to jest? Opis, przykłady

27.02.2019

W języku programowania PHP file_put_contents jest funkcją, która zapisuje dane do pliku z odpowiednikiem fopen (), fwrite (), naprzeciwko argumentów operacji () i fclose (). Przyjmuje dwa parametry jako dane wejściowe: nazwę pliku i treść do zapisania, z trzecim opcjonalnym parametrem definiującym dodatkowe cechy operacji. Jeśli obliczenie file_put_contents w PHP zostanie pomyślnie zakończone, zwróci liczbę bajtów zapisanych w pliku.

File_put_contents w PHP - co to jest? Przykłady

Algorytm:

  • w przypadku, gdy USE_INCLUDE jest ustawione, sprawdzana jest ścieżka do uwzględnienia kopii * filename *;
  • plik jest tworzony, jeśli nie istnieje;

  • otwarty plik;

  • plik jest zablokowany, jeśli ustawiono LOCK_EX;

  • skrypt przechodzi do końca pliku, w przeciwnym razie zawartość zostanie wyczyszczona.

  • zapisz dane do pliku;

  • zamykanie i odblokowywanie plików.

Ten argument zwraca liczbę znaków zapisanych do pliku po pomyślnym zakończeniu lub FALSE w przypadku niepowodzenia.

Aby korzystać z tej funkcjonalności jest bardzo prosta. Przykład:


$ myarray [] = "To jest pierwszy ciąg znaków";
$ myarray [] = "To jest druga linia";
$ myarray [] = "To jest ciąg trzy";
$ mystring = implode ("n", $ myarray);
$ numbytes = file_put_contents ($ filename, $ mystring);
print "bajty $ numbytes są zapisane n";
?> plik umieścić zawartość php

Pamiętaj, że najpierw musisz ustawić nazwę pliku $. Ponadto skrypt jest prosty, powinien wypisać "52 bajty", co jest sumą trzech wierszy tekstu i dwóch nowych znaków ciągów używanych w tablicy implode (). Nowy znak linii jest właściwie tylko jednym znakiem wewnątrz plików, podczas gdy PHP reprezentuje go za pomocą dwóch i n.

Możesz przekazać trzeci parametr file_put_contents w PHP, aby dodać tekst do drugiego parametru do istniejącego tekstu w pliku. Jeśli nie użyjesz opcji FILE_APPEND, istniejący tekst zostanie wyczyszczony i zastąpiony, co nie zawsze jest pożądanym zachowaniem skryptu.

Możliwe błędy

Mogą występować trudności podczas pisania skryptu dla poczty, który zdalnie sprawdza nasz serwer pocztowy. Musi pobrać załączniki i skopiować je do katalogu na lokalnym serwerze intranetowym. Plik ostrzeżenia php umieścił zawartość

Skrypt poprawnie odczytuje pocztę, ale podczas pracy z załącznikami może pojawić się problem:

Ostrzeżenie PHP: file_put_contents: Nie można otworzyć strumienia: dozwolone w C: inetpubwwwrootquotation_testloglog_mailcheck.php na linii 107.

Rozwiązaniem jest sprawdzenie dyrektywy open_basedir w php.ini. Musisz się dowiedzieć, czy istnieje katalog C: inetpubwwwrootquotation_testlogscans ?, i dodać go, jeśli to konieczne.