PHP 5 Открытие/чтение/закрытие файла
В этой главе мы научим вас, как открывать, читать и закрывать файл на сервере.
PHP открытый файл-fopen ()
Более лучший метод для того чтобы раскрыть архивы с fopen() функцией. Эта функция дает вам больше опций, чем readfile() функция.
Мы будем использовать текстовый файл, "словарь. txt", во время уроков:
AJAX = Асинхронный JavaScript и XML
CSS = каскадные таблицы стилей
HTML = Язык разметки Hyper-текста
PHP = PHP-препроцессор
SQL = Язык структурированных запросов
SVG = Масштабируемая векторная графика
XML = Расширяемый язык разметки
Первый параметр fopen() содержит имя открываемого файла, а второй параметр указывает, в каком режиме должен быть открыт файл. В следующем примере также генерируется сообщение, если функция fopen () не может открыть указанный файл:
Пример
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>
Совет: fread() и fclose() функции будут описаны ниже.
Файл может быть открыт в одном из следующих режимов:
| Режимы | Описание |
|---|---|
| r | Откройте файл только для чтения. Указатель файла начинается в начале файла |
| w | Откройте файл только для записи. Стирает содержимое файла или создает новый файл, если он не существует. Указатель файла начинается в начале файла |
| a | Откройте файл только для записи. Существующие данные в файле сохраняются. Указатель файла начинается в конце файла. Создает новый файл, если файл не существует |
| x | Создает новый файл только для записи. Возвращает false и ошибку, если файл уже существует |
| r+ | Откройте файл для чтения/записи. Указатель файла начинается в начале файла |
| w+ | Откройте файл для чтения/записи. Стирает содержимое файла или создает новый файл, если он не существует. Указатель файла начинается в начале файла |
| a+ | Откройте файл для чтения/записи. Существующие данные в файле сохраняются. Указатель файла начинается в конце файла. Создает новый файл, если файл не существует |
| x+ | Создает новый файл для чтения и записи. Возвращает false и ошибку, если файл уже существует |
PHP читать файл-fread ()
fread() функция читает из открытого файла.
Первый параметр fread() содержит имя файла для чтения и второй параметр указывает максимальное число байтов для чтения.
Следующий код PHP читает файл "Dictionary.txt" до конца:
fread($myfile,filesize("webdictionary.txt"));
PHP закрыть файл-fclose ()
fclose() функция используется для закрытия открытого файла.
Это хорошая практика программирования, чтобы закрыть все файлы после того, как вы закончили с ними. Вы не хотите, чтобы открытый файл, работающий вокруг на вашем сервере, занимая ресурсы!
fclose() требуется имя файла (или переменной, которая содержит filename) мы хотим закрыть:
<?php
$myfile = fopen("webdictionary.txt", "r");
// some code to be executed....
fclose($myfile);
?>
PHP прочитал одну строку-fgets ()
fgets() функция используется для считывания одной строки из файла.
В приведенном ниже примере выводится первая строка файла "Dictionary. txt":
Пример
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>
Примечание: После вызова fgets() функции указатель файла переместился на следующую строку.
PHP проверить конец файла-feof ()
feof() функция проверяет, было ли достигнуто "конец файла".
feof() функция полезна для циклов по данным неизвестной длины.
В приведенном ниже примере читает файл "словарь.txt" строка за строкой, пока не будет достигнут конец файла:
Пример
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one line until end-of-file
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
PHP читать один символ-fgetc ()
fgetc() функция используется для считывания одного символа из файла.
В приведенном ниже примере читается символ файла "Dictionary.txt", пока не будет достигнут конец файла:
Пример
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one character until end-of-file
while(!feof($myfile)) {
echo fgetc($myfile);
}
fclose($myfile);
?>
Примечание: После вызова fgetc() функции указатель файла перемещается к следующему символу.
Полная ссылка на файловую систему PHP
Для полной ссылки на функции файловой системы, перейдите на наш полный Ссылка на файловую систему PHP.