Funkcja PHP File_put_Contents

Funkcja PHP File_put_Contents
W PHP istnieje wiele funkcji, aby zapisać treść w pliku. Funkcja pliku_put_contents () jest jedną z nich. Służy do zapisywania dowolnych danych ciągów w pliku. Jeśli plik istnieje, ta funkcja zastąpi poprzednią zawartość nowymi danymi ciągu lub dołączy ciąg na końcu pliku. Jeśli plik nie istnieje, nowy plik zostanie automatycznie utworzony za pomocą wartości ciągu. Składnia tej funkcji podano poniżej.

Składnia:

Int | false plik_put_contents (String $ filename, mixed $ data [, int $ flags = 0 [, zasób $ context]]))

Pierwszy argument jest obowiązkowe i służy do zdefiniowania nazwy pliku, w którym dane zostaną zapisane.

Drugi argument jest obowiązkowe i używane do zdefiniowania danych zapisanych w pliku.

Trzeci argument jest opcjonalnie, który służy do definiowania otwierania pliku lub zapisania danych. W tym argumencie można użyć dowolnej z poniższych wartości.

File_use_include_path:
Jest używany do wyszukiwania pliku w katalogu dołącz.

FILE_APPEND:
Jeśli plik istnieje, służy do dodawania danych na końcu pliku.

Lock_ex:
Służy do ustawienia wyłącznego blokady na pliku podczas pisania.

Czwarty argument jest opcjonalne i używane do zdefiniowania zachowania strumienia lub kontekstu obsługi pliku.

Funkcja powraca liczba znaków zapisanych w pliku i zwraca false, jeśli żadne dane nie są zapisane w pliku

file_put_contents () Przykłady funkcji

Różne zastosowania funkcji File_put_Contents () zostały pokazane w następnej części tego samouczka za pomocą wielu przykładów. Ustawiłeś niezbędne uprawnienia odczytu i zapisu w folderze, w którym plik zostanie zlokalizowany przed ćwiczeniem przykładów tego samouczka; W przeciwnym razie wystąpiłby błąd odmowy uprawnień. Uruchom następujące polecenie, aby ustawić wszystkie uprawnienia dla folderu, '/var/www/html/php'.

$ sudo chmod -r 777/var/www/html/php

Przykład-1: Napisz/zastąp treść w pliku

Utwórz plik PHP z następującym skryptem, który zapisze tekst w pliku tekstowym znajdującym się w folderze, '/var/www/html/php'. Jeśli Temp.tekst Plik istnieje wcześniej, wówczas file_put_contents () zastąpi treść pliku. Jeśli Temp.tekst Plik nie istnieje, wówczas funkcja pliku_put_contents () utworzy plik automatycznie przed zapisaniem. Następnie funkcja pliku_get_contents () jest używana w skrypcie, aby sprawdzić, czy tekst został poprawnie zapisany w pliku, czy nie.

// Ustaw nazwę pliku
$ filename = "temp.tekst";
// Ustaw wartość ciągu
$ str = "Dodawanie treści do pliku.";
// Zapisz treść do pliku
file_put_contents ('/var/www/html/php/'.$ filename, $ str) lub print_r (error_get_last ());
// Sprawdź, czy plik istnieje lub nie
if (plik_exists ($ nazwa pliku))

echo „Treść pliku:
";
// Wydrukuj zawartość pliku
echo file_get_contents ($ nazwa pliku);

?>

Wyjście:

Poniższe dane wyjściowe pojawią się po wykonaniu powyższego skryptu, jeśli tekst został zapisany prawidłowo w pliku.

Przykład-2: Dołącz dane do istniejącej nazwy pliku

Utwórz plik PHP z następującym skryptem, który dołączy tekst z nowym wierszem w istniejącym pliku tekstowym znajdującym się w folderze, '/var/www/html/php'. Plik_pendia I Lock_ex Opcje są używane w trzecim argumencie funkcji File_put_Contents () do dołączenia tekstu do Temp.tekst plik. Następnie funkcja pliku_get_contents () jest używana w skrypcie, aby sprawdzić, czy tekst został poprawnie zapisany w pliku, czy nie.

// Ustaw nazwę pliku
$ filename = "temp.tekst";
// Sprawdź, czy plik istnieje lub nie
if (plik_exists ($ nazwa pliku))

echo „treść pliku przed dołączeniem:
";
// Wydrukuj zawartość pliku
echo file_get_contents ($ nazwa pliku);
// Ustaw wartość ciągu
$ str = "dołączenie nowej treści do pliku.\N";
// Zapisz treść do pliku
file_put_contents ('/var/www/html/php/'.$ nazwa pliku, $ str, plik_append | Lock_ex) lub print_r (error_get_last ());
Echo "
Treść pliku po dołączeniu:
";
// Wydrukuj zawartość pliku
echo file_get_contents ($ nazwa pliku);

?>

Wyjście:

Poniższe dane wyjściowe pojawią się po wykonaniu powyższego skryptu, gdyby tekst został poprawnie dołączony do pliku.

Przykład-3: Zapisz/zastąpę zawartość pliku za pomocą pliku_use_include_path

Musisz włączyć obejmują_path dyrektywa w php.ini plik do używania File_use_include_path Opcja, trzeci argument funkcji File_put_Contents (). Otworzyć php.ini złożyć i usuń półkolon (;) z przodu następującej linii.

Ableal_path = ".:/usr/share/php "

Uruchom następujące polecenie z terminala, aby ponownie uruchomić serwer Apache po zmianie php.ini plik.

$ sudo service apache2 restart

Utwórz plik PHP z następującym skryptem, który zapisz/zastąpi tekst nowym line w istniejącym pliku tekstowym o nazwie mój plik.tekst który znajduje się w miejscu zdefiniowanym w miejscu obejmują_path dyrektywa. Następnie funkcja pliku_get_contents () została użyta w skrypcie do sprawdzenia, czy tekst został poprawnie zapisany w pliku lub nie.

// Ustaw nazwę pliku
$ filename = "myfile.tekst";
// Ustaw wartość ciągu
$ str = "Zapisanie danych w pliku za pomocą pliku_put_contents ().\N";
// Zapisz treść do pliku
file_put_contents ($ nazwa pliku, $ str, file_use_include_path) lub die („Nie można otworzyć pliku.");
echo „Treść pliku:
";
// Wydrukuj zawartość pliku
echo file_get_contents ($ nazwa pliku, true);
?>

Wyjście:

Poniższe dane wyjściowe pojawią się po wykonaniu powyższego skryptu, jeśli tekst został zapisany prawidłowo w pliku.

Przykład-4: Napisz do pliku, tworząc katalog

Utwórz plik PHP z następującym skryptem, który zapisz/zastąpi tekst nowym wierszem w pliku tekstowym o nazwie Testowanie.tekst znajdujący się w katalogu nazwanym 'tymczasowy„Korzystając z funkcji zdefiniowanej przez użytkownika o nazwie Writeintofile(). Ta funkcja utworzy katalog, jeśli katalog nie istnieje w bieżącej lokalizacji przed zapisaniem do pliku. Następnie funkcja pliku_get_contents () jest używana w skrypcie, aby sprawdzić, czy tekst został poprawnie zapisany w pliku, czy nie.

// zdefiniuj funkcję zapisu w pliku, tworząc katalog, jeśli nie istnieje
Funkcja WriteintoFile ($ dir, $ plik, $ data)
// Utwórz katalog, jeśli nie istnieje
Jeśli(!is_dir ($ dir))
mkdir ($ dir);
// Zapisz dane do pliku
file_put_contents („$ dir/$ plik”, $ data);

// zainicjuj niezbędne zmienne
$ Directory = „tymczasowy”;
$ filename = 'testowanie.tekst';
$ str = 'TESTING PLIK TREAT.';;
// wywołać funkcję, aby zapisać do pliku
WriteIntoFile ($ Directory, $ nazwa pliku, $ str);
// Sprawdź, czy plik istnieje lub nie
if (plik_exists („$ Directory/$ filename”))

echo „Treść pliku:
";
// Wydrukuj zawartość pliku
echo file_get_contents („$ Directory/$ filename”);

?>

Wyjście:

Poniższe dane wyjściowe pojawią się po wykonaniu powyższego skryptu, jeśli tekst został zapisany prawidłowo w pliku.

Wniosek

Różne sposoby pisania treści do pliku za pomocą funkcji pliku_put_contents () zostały pokazane w przykładach tego samouczka, aby pomóc użytkownikom PHP w prawidłowym zastosowaniu tej funkcji w ich skrypcie.