Открытие и закрытие файлов
Рассмотрим основные функции и технологию работы с файлами.
bool file_exists(string файл) - проверяет, существует ли заданный файл. Если файл существует, функция возвращает TRUE, иначе – FALSE.
bool is_file(string файл) - проверяет существование заданного файла и возможность выполнения с ним операций чтения/записи.
int filesize(string имя_файла) - возвращает размер (в байтах) файла с заданным именем или FALSE в случае ошибки.
Прежде чем выполнять операции с файлом, необходимо открыть его и связать с файловым манипулятором, а после завершения работы с файлом его следует закрыть.
int fopen(string файл, string режим [, int включение_пути]) - открывает файл (если он существует) и возвращает целое число — так называемый файловый манипулятор.
Параметр файл может задаваться в 4 формах:
1) если параметр содержит имя локального файла, то открывается этот файл и возвращается манипулятор.
2) если параметр задан в виде php://stdin, php://stdout или php://stderr, открывается соответствующий стандартный поток ввода/вывода.
3) если параметр начинается с префикса http://, то открывается подключение HTTP к серверу и возвращает манипулятор для указанного файла.
4) если параметр начинается с префикса ftp://, то открывается подключение FTP к серверу и возвращает манипулятор для указанного файла. Если сервер не поддерживает пассивный режим FTP, вызов fopen( ) завершается неудачей. Более того, FTP-файлы открываются либо для чтения, либо для записи.
При работе в пассивном режиме сервер ожидает подключения со стороны клиентов. При работе в активном режиме сервер сам устанавливает соединение с клиентом. По умолчанию обычно используется активный режим.
Параметр режим определяет возможность выполнения чтения и записи в файл. В следующей таблице перечислены некоторые значения, определяющие режим открытия файла.
Режим | Описание |
R | Только чтение. Указатель текущей позиции устанавливается в начало файла |
r+ | Чтение и запись. Указатель текущей позиции устанавливается в начало файла |
W | Только запись. Указатель текущей позиции устанавливается в начало файла, а все содержимое файла уничтожается. Если файл не существует, функция пытается создать его |
w+ | Чтение и запись. Указатель текущей позиции устанавливается в начало файла, а все содержимое файла уничтожается. Если файл не существует, функция пытается создать его |
a | Только запись. Указатель текущей позиции устанавливается в конец файла. Если файл не существует, функция пытается создать его |
a+ | Чтение и запись. Указатель текущей позиции устанавливается в конец файла. Если файл не существует, функция пытается создать его |
Если необязательный третий параметр включение_пути равен 1, то путь к файлу определяется по отношению к каталогу включаемых файлов, указанному в файле php.ini.
Примеры открытия файла.
$file = "userdata.txt"; // Некоторый файл
$fh = fopen($file, "a+") or exit("Файл ($file) не существует!");
//открывается подключение к сайту РНР (http://www.php.net):
$site = "http://www.php.net": // Сервер, доступный через HTTP
$sh = fopen($site., "r"); //Связать манипулятор с индексной страницей Php.net
int fclose(int манипулятор) - закрывается файл с заданным манипулятором. При успешном закрытии возвращается TRUE, при неудаче — FALSE. Функция fclose( ) успешно закрывает только те файлы, которые были ранее открыты функциями fopen( ) или fsockopen( ).
Примеры закрытия файла:
$file = "План.txt";
if (file_exists($file)) { $fh = fopen($file, "r"); … fclose($fh);}
else print "Файл $file не существует!";
Дата добавления: 2015-04-15; просмотров: 837;