Чаще всего в php работа ведется с базами данных, и это правильно, они быстрее и удобнее. Однако, иногда возникают ситуации, когда необходимо отдать пользователю данные в виде файла. В php файл можно создать 2 способами.
Первый способ создать файл
Самый быстрый способ - это использовать специальную функцию fopen( имя_файла, режим ). Функция может работать в нескольких режимах. Например, открыть файл так, что-бы можно было только записывать данные, но нельзя было читать. Вот список всех режимов.
- 'r' - Открыть файл для чтения, и установить курсор в начало файла.
- 'r+' - Открыть файл для чтения и записи. Курсор, так-же в начале.
- 'w' - Открывает файл для записи, если его нет или создает новый, очищает данные.
- 'w+' - Открывает файл для записи и чтения, если его нет или создает новый, очищает данные.
- 'a' - Открывает для записи в конец файла, если его нет, то создает новый.
- 'a+' - Открывает для записи в конец файла и чтения, если его нет, то создает новый.
<?php
// Указываем то что нужно записать в файл
$text = "Ваш индивидуальный текст";
// Открываем файл в нужном нам режиме. Нам же, нужно его создать и что то записать.
$fp = fopen("file.txt", "w");//поэтому используем режим 'w'
// записываем данные в открытый файл
fwrite($fp, $text);
//не забываем закрыть файл, это ВАЖНО
fclose($fp);
?>
Таким образом, мы создадим файл и напишем в него данные, а если файл уже существует, то файл будет очищен.
Второй способ создания файла
Данный метод проще в использовании, но работает медленнее в некоторых ситуациях. Мы можем использовать удобную функцию file_put_contents(). Данная функция делает все то же самое, что мы делали в первом способе, но скрыто от нас. Поэтому, если нужно записать одну строчку в файл, то данная функция подойдет. Но, если вы будете писать в один файл много разных строчек за одно выполнение скрипта, функция может замедлить скорость работы, так как открывает и закрывает файл каждый раз.
<?php
file_put_contents('file.txt', 'Ваш превосходный текст');
?>
Если же, у вас есть необходимость дописать данные в конец файла, то нужно указать третий параметр FILE_APPEND.
<?php
file_put_contents('file.txt', 'Ваш превосходный текст, который добавиться в уже существующий файл', FILE_APPEND);
?>
Примечание. Если у вас не создается файл, убедитесь, что у папки, где вы пытаетесь создать файл, выставлены права доступа для этого.