Изучаем PHP программирование

   Search   

Русская версия | English version   

Скрипты :: Секреты профессионалов :: Link :: FAQ   Пишите письма  



 

главная :: основы PHP

Открытие и закрытие файлов

Прежде чем выполнять операции ввода/вывода с файлом, необходимо открыть его функцией fopen( ). fopen( ) Функция fopen( ) открывает файл (если он существует) и возвращает целое число — так называемый файловый манипулятор (file handle). Синтаксис функции fopen( ): int fopen (string файл, string режим [, int включение_пути]) Открываемый файл может находиться в локальной файловой системе, существовать в виде стандартного потока ввода/вывода или представлять файл в удаленной системе, принимаемой средствами HTTP или FTP. Параметр файл может задаваться в нескольких формах, перечисленных ниже: Если параметр содержит имя локального файла, функция fopen( ) открывает этот файл и возвращает манипулятор. Если параметр задан в виде php://stdin, php://stdout или php://stderr, открывается соответствующий стандартный поток ввода/вывода. Если параметр начинается с префикса http://, функция открывает подключение HTTP к серверу и возвращает манипулятор для указанного файла. Если параметр начинается с префикса ftp://, функция открывает подключение FTP к серверу и возвращает манипулятор для указанного файла. В этом случае следует обратить особое внимание на два обстоятельства: если сервер не поддерживает пассивный режим FTP, вызов fopen( ) завершается неудачей. Более того, FTP-файлы открываются либо для чтения, либо для записи. При работе в пассивном режиме сервер ЯР ожидает подключения со стороны клиентов. При работе в активном режиме сервер сам устанавливает соединение с клиентом. По умолчанию обычно используется активный режим. Параметр режим определяет возможность выполнения чтения и записи в файл. В табл. 7.1 перечислены некоторые значения, определяющие режим открытия файла. Таблица 7.1. Режимы открытия файла Режим Описание r Только чтение. Указатель текущей позиции устанавливается в начало файла r+ Чтение и запись. Указатель текущей позиции устанавливается в начало файла w Только запись. Указатель текущей позиции устанавливается в начало файла, а все содержимое файла уничтожается. Если файл не существует, функция пытается создать его w+ Чтение и запись. Указатель текущей позиции устанавливается в начало файла, а все содержимое файла уничтожается. Если файл не существует, функция пытается создать его a Только запись. Указатель текущей позиции устанавливается в конец файла. Если файл не существует, функция пытается создать его a+ Чтение и запись. Указатель текущей позиции устанавливается в конец файла. Если файл не существует, функция пытается создать его Если необязательный третий параметр включение_пути равен 1, то путь к файлу определяется по отношению к каталогу включаемых файлов, указанному в файле php.ini (см. главу 1). Ниже приведен пример открытия файла функцией fopen( ). Вызов die( ), используемый в сочетании с fopen( ), обеспечивает вывод сообщения об ошибке в том случае, если открыть файл не удастся: $file = "userdata.txt"; // Некоторый файл $fh = fopen($file, "a+") or die("File ($file) does not exist!"); Следующий фрагмент открывает подключение к сайту РНР (http://www.php.net): $site = "http://www.php.net": // Сервер, доступный через HTTP $sh = fopen($site., "r"); //Связать манипулятор с индексной страницей Php.net После завершения работы файл всегда следует закрывать функцией fclose( ). fclose ( ) Функция fclose( ) закрывает файл с заданным манипулятором. При успешном закрытии возвращается TRUE, при неудаче — FALSE. Синтаксис функции fclose( ): int fclose(int манипулятор) Функция fclose( ) успешно закрывает только те файлы, которые были ранее открыты функциями fopen( ) или fsockopen( ). Пример закрытия файла: $file = "userdata.txt"; if (file_exists($file)) : $fh = fopen($file, "r"); // Выполнить операции с файлом fclose($fh); else : print "File Sfile does not exist!"; endif;

Designed by Fedin
All right reserved
2003-2004
Hosted by uCoz