PHP: Создание файла. Использование временных файлов
Простое создание файлаНужно отметить, что в PHP есть несколько способов создания файлов. Каждый из них имеет свои особенности и используется для решения различных задач.Самым простым способом является использование функции touch (). Она применяется для установки времени последнего доступа к файлу. Если файл не существует, touch () создаст его. Принцип работы очень прост. Функция принимает три параметра: имя файла, время касания и время доступа в формате timestamp. Параметры времени являются необязательными.
Универсальная функция fopenФункция fopen () используется в PHP как для создания нового файла, так и для открытия уже существующего. Она возвращает дескриптор, который может использоваться в ряде других функций. fopen () в первом параметре принимает имя файла, а во втором режим доступа. Режим доступа определяет: применимые операции, позицию файлового указателя, должен ли файл создаваться в случае отсутствия и нужно ли отбрасывать его содержимое.Режим доступа задается строкой, состоящей из управляющих символов. Функция fopen () вернет логическое значение false в случае невозможности открытия файла. Например, если указан режим доступа «чтение», но права, заданные для файла, не позволяют осуществлять данную операцию. Список режимов доступа к файлу:
Внесем уточнения в приведенную выше таблицу. Под усечением понимается отбрасывание уже существующего в файле содержимого. Таким образом, режим w и w+ подразумевают, что в файл будет записано новое содержимое, в то время как a и a+ устанавливают указатель в конец файла, что вызывает добавление информации. Как вы могли заметить режимы w и w+ схожи с, x и x+. Между ними всё же есть отличие. Режимы x возвращают false если файл уже существует, но в случае отсутствия — создают его. Нужно быть очень аккуратным при работе с режимами c и с+. Они устанавливают указатель на начало файла, но не затирают предыдущее содержимое. Новые строки будут заменять прежний контент.
Заметка! У функции fopen() есть третий параметр логического типа, который по умолчанию устанавливается в false. Он связан с настройками интерпретатора PHP. Опция include_path конфигурационного файла php.ini указывает директорию подключаемых файлов. Если установить третий параметр fopen() в true, поиск и создание файлов будет вестись в этой директории. Создание временного файлаРяд задач, решаемых в PHP, требуют создания временного хранилища информации. Для этого могут быть использованы временные файлы. Функция tpmfile() не принимает никаких параметров. Она возвращает дескриптор файла, который, по сути, является областью оперативной памяти. С этим дескриптором работают все те же функции, что и с обычными файлами. Временный файл будет уничтожен после завершения выполнения скрипта или при вызове функции fclose(). Также существует возможность создания реального файла с случайно генерируемым именем. За это отвечает функция tempnam(). Ей в первом параметре необходимо указать директорию размещения, а во втором префикс имени файла. Функция вернет полное сгенирированное имя. Его можно использовать для дальнейших операций с помощью fopen(). Такой файл будет существовать и после завершения работы скрипта. Если он не потребуется в дальнейшем, используйте функцию unlink() для удаления.
Одновременное создание и записьВ PHP существует возможность заменить последовательность операций создания файла, записи информации и освобождения дескриптора, всего одним вызовом. Для этого используйте функцию file_put_contents(). Передайте ей два параметра: имя файла и данные для записи. Если файл не существует, он будет создан.
Заметка Функция file_put_contents() рассматривается детально в следующих уроках данного учебного курса. Она обладает более широким функционалом, который раскрывается в ином контексте. |
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.