uznay-chto-hochesh.narod.ru

-сайт для интересующихся людей

Учебник - справочник по PHP.

Здесь Вы найдете что хотели

Меню сайта
Главная
Введение
Справочник языка
Возможности РНР
Функции (справочник)
Расширение РНР 4.0
F.A.Q. частые вопросы
Приложения
Алфавитный указатель
Друзья сайта
сделай сайт сам! пособие по html
изучение html и web-дизайна для новичков
Бесплатная отправка смс на все операторы
Реклама
 
Назад Вперёд

fopen

(PHP 3, PHP 4)

fopen - открывает файл или URL.

Описание

int fopen (string filename, string mode [, int use_include_path])

Если filename начинается с "http://" (нечувствительно к регистру), то HTTP 1.0 соединение открывается со специфицированным сервером, страница запрашивается методом HTTP GET и указатель файла возвращается в начало тела ответа.  'Host:'-header отправляется вместе с запросом, чтобы обработать виртуальные хосты на основе имён.

Начиная с PHP 4.3.0, если вы скомпилировали поддержку OpenSSL, вы можете использовать "https://" для открытия HTTP-соединения через SSL.

Обратите внимание, что указатель файла позволяет вам запрашивать только body\тело ответа; для запрашивания шапки/header HTTP-ответа вам нужно использовать PHP 4.0.5 или новее; эти шапки будут храниться в переменной $http_response_header. Начиная с PHP 4.3.0, header-информация может быть запрошена с использованием функции file_get_wrapper_data().

HTTP-соединения являются read-only; вы не можете записывать данные или копировать файлы в HTTP-ресурс.

Версии до PHP 4.0.5 не обрабатывают HTTP-перенаправления. Поэтому директории обязаны иметь ведомые слэши.

Если filename начинается с "ftp://" (нечувствительно к регистру), открывается ftp-соединение со специфицированным сервером и возвращается указатель на запрашиваемый файл. Если сервер не поддерживает ftp пассивного режима, это не удастся сделать. Вы можете открывать файлы для чтения или записи через ftp (но не для того и другого одновременно). Если удалённый/remote файл уже существует на ftp-сервере и вы пытаетесь открыть его для записи, это не получится. Если вам нужно обновить существующие файлы по ftp, используйте ftp_connect().

Если filename это "php://stdin", "php://stdout" или "php://stderr", будет открыт соответствующий поток stdio. (Это появилось в PHP 3.0.13; до этого такие имена файлов, как "/dev/stdin" или "/dev/fd/0", должны были использоваться для доступа к stdio-потокам.)

Если filename начинается ещё с чего-нибудь, файл будет открыт из файловой системы и будет возвращён указатель на открытый файл.

Если открыть файл не удалось, эта функция возвращает FALSE.

mode может иметь значения:

  • 'r' - Открыть только для чтения; поместить указатель в начало файла.

  • 'r+' - Открыть для чтения и записи; поместить указатель в начало файла.

  • 'w' - Открыть только для записи; поместить указатель в начало файла и усечь файл до нулевой длины. Если файл не существует, делается попытка создать его.

  • 'w+' - Открыть для чтения и записи; поместить указатель в начало файла и усечь файл до нулевой длины. Если файл не существует, делается попытка создать его.

  • 'a' - Открыть только для записи; поместить указатель в конец файла. Если файл не существует, делается попытка создать его.

  • 'a+' - Открыть для чтения и записи; поместить указатель в конец файла. Если файл не существует, делается попытка создать его.

Примечание: mode может содержать букву 'b'. Это используется только в системах, различающих двоичные и текстовые файлы (т.е. в Windows. В Unix это бесполезно). Если не нужен, он игнорируется.

Вы можете использовать необязательный третий параметр и установить в него значение "1", если хотите найти файл также и в include_path.

Пример 1. fopen()
$fp = fopen ("/home/rasmus/file.txt", "r");
$fp = fopen ("/home/rasmus/file.gif", "wb");
$fp = fopen ("http://www.example.com/", "r");
$fp = fopen ("ftp://user:password@example.com/", "w");

Если у вас проблемы с чтением и записью файлов и вы используете версии серверных модулей PHP, не забудьте убедиться, что используемые вами файлы и директории доступны для серверного процесса.

На платформе Windows мнемонизируйте (escape) все обратные слэши в пути к файлу или используйте обычные слэши.
$fp = fopen ("c:\\data\\info.txt", "r");

См. также fclose(), fsockopen(), socket_set_timeout() и popen().


Назад Оглавление Вперёд
flock Вверхfpassthru

Хостинг от uCoz