- PHP | Создание / запись файлов
- Создание файла
- Запись в файл — fwrite()
- Перезапись файла
- Как создать файл (PHP)
- fopen()
- file_put_contents()
- Примечание
- Категории
- Читайте также
- Комментарии
- Вход на сайт
- Социальные сети
- PHP File Create/Write
- PHP Create File — fopen()
- Example
- PHP File Permissions
- PHP Write to File — fwrite()
- Example
- PHP Overwriting
- Example
- PHP Append Text
- Example
- Complete PHP Filesystem Reference
- Работа с файлами на php: открытие, запись, чтение
- Файлы php
- Открытие и закрытие файлов
- Чтение и запись файлов
- Создание и удаление файлов
- Получение информации о файле
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);
?>?php
В этом примере мы дважды записали в файл «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);
?>?php
Если мы теперь откроем файл «data_base.txt», то увидим, что и Stive Johnson, и Jacke Dikson исчезли, а появились данные, которые мы только что записали:
Как создать файл (PHP)
Создать файл в PHP можно двумя способами. Функцией fopen() и функцией file_put_contents() . Функция file_put_contents() лучше использовать только в случае обычной записи/дозаписи текста в файл, в остальных случаях лучше использовать fopen() .
fopen()
Например нужно создать файл data.txt и записать в него текстовую информацию.
В результате в файле data.txt будет следующая информация:
file_put_contents()
Функция int file_put_contents (string filename, mixed data [, int flags [, resource context]]) повторяет вызов функций fopen(), fwrite(), fclose().
Например нужно создать файл data2.txt и записать в него текстовую информацию.
В результате в файле data2.txt будет:
Если вы хотите этой функцией file_put_contents() записать информацию в уже существующий файл, при это сохранив информацию в нем, то в качестве третьего параметра нужно передать константу FILE_APPEND .
В результате в файле будет следующая информация:
Примечание
При создании файла убедитесь, что у папки, где будет создаваться файл, выставлены права доступа для создания файлов.
Категории
Читайте также
- Как очистить файл не удаляя его (PHP)
- Как скопировать файл (PHP)
- Как очистить папку (PHP)
- Как дописать в конец файла (PHP)
- Как проверить права доступа (PHP)
- Дата изменения файла (PHP)
- Список файлов в папке (PHP)
- Массив в JSON (PHP)
- Скачать файл с сервера (PHP)
- Как на PHP скачать файл
- Как записать массив в файл (PHP)
- Как создать папку (Perl)
Комментарии
Вход на сайт
Введите данные указанные при регистрации:
Социальные сети
Вы можете быстро войти через социальные сети:
PHP File Create/Write
In this chapter we will teach you how to create and write to a file on the server.
PHP Create File — fopen()
The fopen() function is also used to create a file. Maybe a little confusing, but in PHP, a file is created using the same function used to open files.
If you use fopen() on a file that does not exist, it will create it, given that the file is opened for writing (w) or appending (a).
The example below creates a new file called «testfile.txt». The file will be created in the same directory where the PHP code resides:
Example
PHP File Permissions
If you are having errors when trying to get this code to run, check that you have granted your PHP file access to write information to the hard drive.
PHP Write to File — fwrite()
The fwrite() function is used to write to a file.
The first parameter of fwrite() contains the name of the file to write to and the second parameter is the string to be written.
The example below writes a couple of names into a new file called «newfile.txt»:
Example
$myfile = fopen(«newfile.txt», «w») or die(«Unable to open file!»);
$txt = «John Doe\n»;
fwrite($myfile, $txt);
$txt = «Jane Doe\n»;
fwrite($myfile, $txt);
fclose($myfile);
?>?php
Notice that we wrote to the file «newfile.txt» twice. Each time we wrote to the file we sent the string $txt that first contained «John Doe» and second contained «Jane Doe». After we finished writing, we closed the file using the fclose() function.
If we open the «newfile.txt» file it would look like this:
PHP Overwriting
Now that «newfile.txt» contains some data we can show what happens when we open an existing file for writing. All the existing data will be ERASED and we start with an empty file.
In the example below we open our existing file «newfile.txt», and write some new data into it:
Example
$myfile = fopen(«newfile.txt», «w») or die(«Unable to open file!»);
$txt = «Mickey Mouse\n»;
fwrite($myfile, $txt);
$txt = «Minnie Mouse\n»;
fwrite($myfile, $txt);
fclose($myfile);
?>?php
If we now open the «newfile.txt» file, both John and Jane have vanished, and only the data we just wrote is present:
PHP Append Text
You can append data to a file by using the «a» mode. The «a» mode appends text to the end of the file, while the «w» mode overrides (and erases) the old content of the file.
In the example below we open our existing file «newfile.txt», and append some text to it:
Example
$myfile = fopen(«newfile.txt», «a») or die(«Unable to open file!»);
$txt = «Donald Duck\n»;
fwrite($myfile, $txt);
$txt = «Goofy Goof\n»;
fwrite($myfile, $txt);
fclose($myfile);
?>?php
If we now open the «newfile.txt» file, we will see that Donald Duck and Goofy Goof is appended to the end of the file:
Complete PHP Filesystem Reference
For a complete reference of filesystem functions, go to our complete PHP Filesystem Reference.
Работа с файлами на php: открытие, запись, чтение
На самом деле, чем открыть php файл, не является большой проблемой. Бывает труднее открыть бутылку пива, когда находишься посреди леса. Но так думают лишь заядлые программисты. А для новичков поведаем обо всех возможностях php для работы с файлами:
Файлы php
Файлы с расширением php содержат в себе код написанный, на одноименном языке программирования. В отличие от других языков, php является серверным языком программирования. То есть он выполняется на стороне сервера. Поэтому для отладки его кода на клиентской машине должен быть установлен локальный сервер.
Для работы с файлами php используются специальные приложения – программные редакторы. Наиболее распространенными из них являются:
При создании сайтов на основе php может потребоваться многократное использование программного кода. В таких ситуациях удобно подключать уже готовые решения, находящиеся в другом файле. Для этого используется конструкция include . Ее синтаксис:
Подключение файла также возможно с помощью конструкции require . В отличие от include она подключает файл еще до выполнения программного кода. С помощью require в коде возможно лишь одно обращение к этому файлу. При повторном обращении система выдаст сообщение о глобальной ошибке и остановит выполнение программы.
Конструкция include подключает источник лишь во время выполнения программы. Она поддерживает множественное чтение файла php . При возникновении ошибки будет выведено лишь предупреждающее сообщение, а исполнение кода продолжится со следующей строчки.
Открытие и закрытие файлов
В php все операции с файлами осуществляются в несколько этапов:
Для открытия файла используется функция fopen() . Ее синтаксис:
int fopen(string filename, string mode [, int use_include_path])
- string filename – имя файла или абсолютный путь к нему. Если путь к файлу не будет указан, то будет произведен его поиск в текущем каталоге. При отсутствии искомого файла система выведет сообщение об ошибке. Пример:
- string mode – указывает режим открытия файла. Принимаемые аргументом значения:
- r – файл открыт только для чтения, файловый указатель устанавливается в начале;
- r+ – файл открыт для чтения и записи;
- w – создается новый файл только для записи. Если файл с таким именем уже существует, в нем происходит автоматическое удаление всех данных;
- w+ — создается новый файл для записи и чтения. При существовании такого файла происходит полная перезапись его данных на новые;
- a – файл открыт для записи. Указатель устанавливается в конце. То есть запись в файл php начнется не с начала, а с конца;
- a+ – открытие файла в режиме чтения и записи. Запись начнется с конца;
- b – режим работы с файлом, содержащим в себе двоичные данные (в двоичной системе исчисления). Этот режим доступен только в операционной системе Windows.
Для закрытия доступа к файлу служит функция fclose () . Синтаксис:
int fclose (int file) , где int file – дескриптор сайта, который нужно закрыть.
После каждого чтения или записи файл нужно закрывать этой функцией. Иначе остается открытым поток, созданный для файла. А это ведет к лишнему расходу серверных мощностей.
Чтение и запись файлов
Для простого отображения всего содержимого файла идеально подходит функция readfile () . Ее синтаксис:
readfile (string filename) , где string filename – строковое имя фала ( не дескриптор ).
Тот же самый файл можно прочитать с помощью функции fpassthru () . Она считывает данные от конечной позиции указателя и до конца файла. Ее синтаксис:
Для работы с функцией требуется открытие и закрытие файла. Пример:
Результат аналогичен предыдущему.
Функции для работы с файлами в php позволяют считывать содержимое построчно и посимвольно:
Для записи текстовых данных в файл существует две идентичные функции:
- int fputs ( int file, string string [, int length ])
- int fwrite ( int file, string string [, int length ])
Функции записывают в файл int file строку string string указанной длины int length ( необязательный аргумент ). Пример:
else < fputs ( $file, $str); >fclose ($file); readfile("fopen.txt"); ?>
Создание и удаление файлов
Чтобы создать файл php , можно использовать функцию fopen() в режиме доступа « w » или « w+ ». Или функцию touch () . Она устанавливает время изменения файла. При отсутствии элемента с искомым именем он будет создан. Ее синтаксис:
int touch (string filename [, int time [, int atime]])
Для создания копии файла используется функция copy() . В качестве аргументов она принимает имя оригинала и файла, куда нужно скопировать содержимое. Если он не существует, то будет создан. Синтаксис функции:
int copy ( string file1, string file2)
Удалить файл можно с помощью функции unlink() . Ее синтаксис:
bool unlink ( string $filename [, resource $context ] )
Получение информации о файле
Для получения информации о файлах в php используется целый ряд функций:
- bool fileexists (string filename) – проверяет, существует ли элемент;
- int fileatime (string filename) – возвращает время последнего открытия;
- int filesize (string filename) – возвращает байтовый размер файла;
- string filetype (string filename) – тип файла.
";//дата обращения к файлу echo filesize($file)."";//размер echo filetype($file)."";//тип > else < echo "Такого файла не существует"; >?>
Это еще не все возможности для работы с файлами, реализованные в php . Многие из методов и функций остались за кадром. Так что простор для самостоятельного познания еще велик.