file_put_contents
(PHP 5, PHP 7)
file_put_contents — Записує рядок у файл
Опис
int file_put_contents
(
string $filename
,
mixed $data
[,
int $flags
= 0
[,
resource $context
]] )
Якщо файлу (filename
) не існує, його буде створено.
В іншому випадку, існуючий файл буде перезаписано, якщо не встановлено
флаг FILE_APPEND
.
Параметри
-
filename
-
Шлях до файлу, куди будуть записуватись дані.
-
data
-
Дані для запису. Може бути рядком (string), масивом
(array) або ресурсом потоку (stream).
Якщо дані (data
) є ресурсом потоку
(stream), залишок буфера цього потоку буде скопійовано до
зазначеного файла.
Це схоже на використання stream_copy_to_stream().
Ви також можете зазначити параметр data
як
як одномірний одиночний масив. Це буде еквівалентно до виклика
file_put_contents($filename, implode('', $array)).
-
flags
-
Значення параметра flags
може бути будь-якою
комбінацією з наступних флагів, об'єднаних бінарним оператором АБО
(|).
Доступні флаги
Флаг |
Опис |
FILE_USE_INCLUDE_PATH
|
Пошук файла filename в директоріях,
що підключаються. Прогляньте include_path
для більш детальної інформації.
|
FILE_APPEND
|
Якщо файл filename вже існує, додавати
дані, замість перезаписування старого вмісту.
|
LOCK_EX
|
Отримати монопольне блокування поки йде процес записування.
|
-
context
-
Коректний ресурс контента створений за допомогою функції
stream_context_create().
Значення, що повертаються
Ця функція повертає кількість байтів, які будуть записані до файла, або
FALSE
при невдачі.
УвагаЦя функція
може повертати як логічне FALSE
, так і нелогічне значення, яке прирівнюється до FALSE
.
Детальніше про це описується в розділі Логічний тип даних (Booleans). Використовуйте
оператор === щоб перевірити
значення, яке повертає дана функція.
Приклади
Приклад #1 Просте використання
<?php
$file = 'people.txt';
// Відкрити файл для отримання існуючого вмісту
$current = file_get_contents($file);
// Додати нову особу до файлу
$current .= "Коля Шкраб";
// Вписати вміст назад у файл
file_put_contents($file, $current);
?>
Приклад #2 Використання флагів
<?php
$file = 'people.txt';
// Додати нову особу до файлу
$person = "Коля Шкраб";
// Запис до файлу з використанням флагу FILE_APPEND,
// щоб вміст додавався в кінець,
// та блокування файлу за допомогою флагу LOCK_EX, щоб недопустити одночасний запис ще кимось
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>
Примітки
Зауваження: Ця функція
є бінарно-безпечною.
ПідказкаA URL can be used as a
filename with this function if the fopen wrappers have been enabled.
See fopen() for more details on how to specify the
filename. See the Supported Protocols and Wrappers for links to information
about what abilities the various wrappers have, notes on their usage,
and information on any predefined variables they may
provide.