Файл представляет собой последовательность байтов, хранящуюся на каком-либо физическом носителе информации. Каждый файл имеет абсолютный путь, по которому определяется его местонахождение. В качестве разделителя пути в Windows может использоваться как прямой (/), так и обратный (\) слеш. В других операционных системах используется только прямой слеш.
Открытие файлов в файловой системе сервера производится при помощи функции fopen:
int fopen(string filename, string mode [, int use_include_path])
Первый аргумент filename – имя файла или абсолютный путь к нему. Если абсолютный путь не указывается, то файл должен находится в текущем каталоге.
Второй аргумент mode говорит о том, для каких действий открывается файл и может принимать следующие значения:
* r (Открыть файл только для чтения; после открытия указатель файла устанавливается в начало файла);
* r+ (Открыть файл для чтения и записи; после открытия указатель файла устанавливается в начало файла);
* w (Создать новый пустой файл только для записи; если файл с таким именем уже есть вся информация в нем уничтожается);
* w+ (Создать новый пустой файл для чтения записи; если файл с таким именем уже есть вся информация в нем уничтожается);
* a (Открыть файл для дозаписи; данные будут записываться в конец файла);
* a+ (Открыть файл для дозаписи и чтения данных; данные будут записываться в конец файла);
* b (Флаг, указывающий на работу (чтение и запись) с двоичным файлом; указывается только в Windows).
Третий необязательный аргумент use_include_path определяет должны ли искаться файлы в каталоге include_path. (Параметр include_path устанавливается в файле php.ini).
В случае удачного открытия файла, функция fopen возвращает дескриптор файла, в случае неудачи – false. Дескриптор файла представляет собой указатель на открытый файл, который используется операционной системой для поддержки операций с этим файлом. Возвращенный функцией дескриптор файла необходимо затем указывать во всех функциях, которые в дальнейшем будут работать с этим файлом.
Код, приведенный ниже, открывает файл C:/WWW/HTML/file.txt для чтения:
<?
$file = fopen(“c:/www/html/file.txt”,”r”);
if(!file)
{
echo(“Ошибка открытия файла”);
}
?>
Открытие двоичного файла, к примеру, рисунка происходит таким же образом, только с флагом b:
<?
$file = fopen(“c:/www/html/river.jpg”,”rb”);
if(!file)
{
echo(“Ошибка открытия файла”);
}
?>
If you found an error, highlight it and press Shift + Enter or click here to inform us.