Открытие файлов
PHP предоставляет доступ к файлам в операционных системах Windows и Unix для чтения, записи или добавления содержимого. Этот раздел описывает, как использовать PHP для открытия файлов в системах Windows.
PHP содержит функции fopen() и fclose() для работы с файлами. Обе функции определяются ниже.
fopen(имя_файла, режим) - функция используется для открытия файла. Для функции требуется задать имя файла и режим работы. Она возвращает указатель на файл, который содержит информацию о файле и используется в качестве ссылки.
fclose(указатель_ресурса) – функция используется для закрытия файла. Для функции требуется указатель файла, созданный при открытии файла с помощью функции fopen(). Возвращает TRUE при успешной работе или FALSE при отказе.
Имя файла является полным путем доступа к файлу, который требуется создать или открыть. Этот путь доступа может быть относительным путем доступа к файлу: "/Documents and Settings/Administrator/PHP/myfile.txt" или абсолютным путем доступа к файлу: "E:/MyFiles/PHP/myfile.txt". Для каждого определенного каталога необходимо иметь подходящие права NTFS для создания, модификации или удаления файлов.
Режим может быть одним из следующих.
Режимы, используемые в fopen()
Режим | Применение |
r | Открывает существующий файл с целью чтения из него данных. Указатель файла помещается в начале файла |
r+ | Открывает существующий файл с целью чтения или записи данных. Указатель файла помещается в начале файла |
w | Открывает файл для записи. Если файл не существует, то он создается. Если файл существует, то указатель файла помещается в начале файла и функция удаляет все существующее содержимое файла |
w+ | Открывает файл для чтения и записи. Если файл не существует, то он создается. Если файл существует, то указатель файла помещается в начале файла и функция удаляет все существующее содержимое файла |
a | Открывает файл для записи. Если файл не существует, то он создается. Если файл существует, то указатель файла помещается в конце файла |
a+ | Открывает файл для чтения и записи. Если файл не существует, то он создается. Если файл существует, то указатель файла помещается в конце файла |
Следующий пример показывает, как открыть файл для чтения:
fileprocess.php <?php $filename = "C:/Documents and Settings/Administrator/MyFiles/myfile.txt"; $newfile = fopen($filename, "w+"); //код для чтения или записи данных в файл располагается здесь fclose($newfile); ?>Первый шаг состоит в создании переменной для хранения всего пути доступа к файлу, который будет открыт:
$filename = "C:/Documents and Settings/Administrators/MyFiles/myfile.txt";Путь доступа к текстовому файлу myfile.txt хранится в переменной с именем filename. Затем создается указатель файла с именем $newfile и применяется с функцией fopen() для открытия файла, указанного в предыдущем разделе. Указатель файла является ссылочной переменной PHP, используемой для ссылки на только что открытый файл:
$newfile = fopen($filename, "w+");Указатель файла будет использован позже для чтения и записи содержимого в открытый файл.
В некоторых ситуациях функция fopen() не сможет успешно открыть файл в результате неверного пути доступа к файлу, полномочий безопасности или других непредвиденных проблем. В связи с этим рекомендуется использовать специальную функцию PHP для аккуратной обработки таких ошибок. Эти функции можно применять в сочетании с оператором управления ошибками PHP "@", рассмотренного в разделе 8-2 для завершения сценария, подавления создаваемых PHP сообщений об ошибках, и вывода более понятного пользователю сообщения. Функции управления ошибками PHP описаны ниже:
exit(сообщение_об_ошибке) – завершает текущий сценарий и выводит сообщение об ошибке, передаваемое в функцию.
die(сообщение_об_ошибке) – алиас функции exit().
Следующий сценарий демонстрирует использование функций управления ошибками:
fileprocess.php <?php $filename = "C:/Documents and Settings/Administrator/MyFiles/myfile.txt"; $newfile = @fopen($filename, "w+") or exit("Невозможно открыть или создать файл"); //код для чтения или записи данных в файл размещается здесь fclose($newfile); ?>Если файл невозможно открыть, функция exit() выводит сообщение " Невозможно открыть или создать файл" и сценарий завершается.
Если файл открывается успешно, то содержимое можно читать из файла, записывать в файл, или добавлять к файлу в зависимости от используемого в функции fopen() режима. Подробнее эти действия будут рассмотрены в следующих разделах. После завершения обработки всего файла применяется функция fclose() для закрытия открытого файла.
Дата добавления: 2015-04-19; просмотров: 603;