file_put_contents
(PHP 5, PHP 7)
file_put_contents — Zapisuje łańcuch znaków do pliku
Opis
file_put_contents
(
string $nazwa_pliku
,
mixed $dane
[,
int $flagi
= 0
[,
resource $kontekst
]] ) :
int
Jeżeli nazwa_pliku
nie istnieje, plik jest tworzony.
W przeciwnym wypadku plik jest nadpisywany, dopóki nie ustawiono flagi
FILE_APPEND
.
Parametry
-
nazwa_pliku
-
Ścieżka do pliku, w którym zapisać dane.
-
dane
-
Dane do zapisania. Może być typu string,
array lub stream.
Jeżeli dane
są typu stream,
pozostały bufor tego strumienia będzie skopiowany do określonego pliku.
Jest to adekwatne do użycia stream_copy_to_stream().
W parametrze dane
można podać jednowymiarową
tablicę. Jest do adekwatne do użycia kodu
file_put_contents($filename, implode('', $array)).
-
flagi
-
Wartość parametru flagi
może być dowolną kombinacją
następujących flag połączonych przez binarny operator OR (|).
Dostępne flagi
Flaga |
Opis |
FILE_USE_INCLUDE_PATH
|
Szuka nazwa_pliku w katalogu dołączania.
Zobacz include_path, aby uzyskać
więcej informacji.
|
FILE_APPEND
|
Jeżeli nazwa_pliku już istnieje, dane zostaną
dopisane do pliku, zamiast go nadpisywać.
|
LOCK_EX
|
Funkcja nabywa wyłączną blokadę na pliku podczas
zapisu do niego. Innymi słowy, wywołanie flock() występuje
pomiędzy wywołaniem fopen() a fwrite().
Nie jest to identyczne z wywołaniem funkcji fopen() w trybie "x".
|
-
kontekst
-
Poprawny zasób kontekstu utworzony przy użyciu
stream_context_create().
Zwracane wartości
Funkcja zwraca ilość bajtów zapisanych do pliku lub
FALSE
w wypadku niepowodzenia.
OstrzeżenieTa funkcja może
zwrócić Boolean FALSE
, ale może też zwrócić wartość innego typu niż Boolean, która oznacza
wartość FALSE
. Aby uzyskać więcej informacji proszę zapoznać się z rozdziałem Typy logiczne.
Można używać operatora ===
do testowania zwracanych wartości przez tę
funkcję.
Przykłady
Przykład #1 Prosty przykład użycia
<?php
$file = 'people.txt';
// Otwórz plik, aby pobrać istniejącą zawartość
$current = file_get_contents($file);
// Dopisz nową osobę do pliku
$current .= "John Smith\n";
// Zapisz zawartość z powrotem do pliku
file_put_contents($file, $current);
?>
Przykład #2 Używanie flag
<?php
$file = 'people.txt';
// Nowa osoba do dodania do pliku
$person = "John Smith\n";
// Zapisz zawartość do pliku
// używając flagi FILE_APPEND, aby dopisać zawartość na koniec pliku
// i flagi LOCK_EX, aby zapobiec równoczesnemu zapisowi do tego pliku przez kogoś innego
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>
Notatki
Informacja: Tę funkcję można stosować dla danych binarnych.
WskazówkaJeśli włączona jest dyrektywa
konfiguracyjna fopen wrappers,
możliwe jest podanie jako nazwy pliku adresu URL. Zobacz opis funkcji
fopen() aby dowiedzieć się jak przekazać nazwę pliku, oraz
fopen wrappers aby uzyskać listę
obsługiwanych protokołów.