Открытие файлов
Открытие файлов в файловой системе сервера производится при помощи функции 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("Ошибка открытия файла");
}
?>