Как в php создать файл?

Чаще всего в 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);
?>

Примечание. Если у вас не создается файл, убедитесь, что у папки, где вы пытаетесь создать файл, выставлены права доступа для этого.

4.43/5 (14)

Оцените