В этой главе мы научим вас, как открыть, прочитать и закрыть файл на сервере.
PHP Open File - fopen()
Лучший метод для открытия файлов является с fopen() функцией. Эта функция дает вам больше возможностей , чем readfile() функции.
Мы будем использовать текстовый файл, "webdictionary.txt" , во время занятий:
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL
= Structured Query Language
SVG = Scalable Vector Graphics
XML =
EXtensible Markup Language
Первый параметр FOPEN () содержит имя файла, который должен быть открыт, а второй параметр указывает, в каком режиме файл должен быть открыт. Следующий пример также генерирует сообщение, если функция Еорепа () не может открыть указанный файл:
пример
<?php
$myfile = fopen("webdictionary.txt", "r") or
die("Unable to
open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>
Выполнить пример » Совет: Fread () и fclose () функции будут описаны ниже.
Файл может быть открыт в одном из следующих режимов:
Modes | Description |
---|---|
r | Open a file for read only . File pointer starts at the beginning of the file |
w | Open a file for write only . Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file |
a | Open a file for write only . The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist |
x | Creates a new file for write only . Returns FALSE and an error if file already exists |
r+ | Open a file for read/write . File pointer starts at the beginning of the file |
w+ | Open a file for read/write . Erases the contents of the file or creates a new file if it doesn't exist. File pointer starts at the beginning of the file |
a+ | Open a file for read/write . The existing data in file is preserved. File pointer starts at the end of the file. Creates a new file if the file doesn't exist |
x+ | Creates a new file for read/write . Returns FALSE and an error if file already exists |
PHP Read File - Fread ()
Функция Fread () считывает из открытого файла.
Первый параметр FREAD () содержит имя файла для чтения и второй параметр определяет максимальное число байт для чтения.
Следующий код PHP считывает файл «webdictionary.txt» до конца:
fread($myfile,filesize("webdictionary.txt"));
PHP Закрыть файл - fclose()
fclose() функция используется , чтобы закрыть открытый файл.
Это хорошая практика программирования, чтобы закрыть все файлы после того, как вы закончили с ними. Вы не хотите открыть файл беготни на вашем сервере занимают ресурсы!
fclose() требуется имя файла (или переменной , которая содержит имя файла) , мы хотим , чтобы закрыть:
<?php
$myfile = fopen("webdictionary.txt", "r") ;
// some code to be
executed....
fclose($myfile) ;
?>
PHP Read Single Line - fgets()
fgets() функция используется для чтения одну строку из файла.
Ниже пример выводит первую строку "webdictionary.txt" файл:
пример
<?php
$myfile = fopen("webdictionary.txt", "r") or
die("Unable to
open file!");
echo fgets($myfile);
fclose($myfile);
?>
Выполнить пример » Note: После вызова на fgets() функции, указатель файла перемещается на следующую строку.
PHP Check End-Of-File - feof()
В feof() функция проверяет , является ли "end-of-file" (EOF) достигнут.
feof() функция полезна для цикла по данным неизвестной длины.
В приведенном ниже пример считывает "webdictionary.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() функция используется для чтения одного символа из файла.
В приведенном ниже пример читает "webdictionary.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);
?>
Выполнить пример » Note: После вызова к fgetc() функции, указатель файла перемещается к следующему символу.
Полное PHP Filesystem Reference
Для полного ведения функций файловой системы, перейдите на наш полный PHP Filesystem Reference .