PHP | Создание / запись файлов
В этом уроке мы научимся создавать файлы и записывать данные в файл на сервере.
Создание файла
В прошлом уроке для открытия файла мы использовали функцию fopen()
. Эта же функция используется также и для создания файла. Возможно, это немного сбивает с толку, но в PHP файл создается с использованием той же функции, что и для открытия файлов.
Если вы используете функцию fopen()
для открытия файла, который не существует, то она создаст его, учитывая, что файл открыт для записи (w) или добавления (a).
В приведенном ниже примере создается новый файл с именем «test_file.txt». Файл будет создан в той же директории, из которой вызвано исполнение сценария PHP:
Запись в файл — fwrite()
Функция fwrite()
используется для записи в файл.
Первый параметр функции fwrite()
содержит имя файла для записи, а второй параметр — строку, которая будет записана в файл.
В следующем примере функция fopen()
создаст файл с именем "data_base.txt", а функция fwrite()
запишет в него две строки:
$myfile = fopen("data_base", "w") or die("Невозможно открыть файл!");
$name = "Stive Johnson\n";
fwrite($myfile, $name);
$name = "Jacke Dikson\n";
fwrite($myfile, $name);
fclose($myfile);
?>
В этом примере мы дважды записали в файл «data_base.txt» содержимое переменной $name. Каждый раз, когда мы производили запись в файл, мы вторым параметром функции fwrite()
отправляли строку $name, которая сначала содержала «Stive Johnson», а второй раз — «Jacke Dikson». После завершения записи, мы закрыли файл с помощью функции fclose()
.
Если мы откроем файл "data_base.txt", он будет выглядеть так:
Stive Johnson Jacke Dikson
Перезапись файла
Теперь, когда файл "data_base.txt" создан и содержит некоторые данные, мы можем показать, что произойдёт, если мы откроем существующий файл для записи. Всё содержимое файла будет УДАЛЕНО, и мы начнем работу с пустым файлом.
В примере ниже мы открываем существующий файл "data_base.txt" и записываем в него новые данные:
$myfile = fopen("data_base", "w") or die("Невозможно открыть файл!");
$name = "Max Maximov\n";
fwrite($myfile, $name);
$name = "Piter Petrov\n";
fwrite($myfile, $name);
fclose($myfile);
?>
Если мы теперь откроем файл "data_base.txt", то увидим, что и Stive Johnson, и Jacke Dikson исчезли, а появились данные, которые мы только что записали:
Max Maximov Piter Petrov