Книги наших сотрудников
 
Гостевая книга 

справочник функций

скачать учебник PHP

Форум PHP

Учебник по PHP 4

Сколько новых сайтов Вы делаете за год? результаты


Варианты ответов

Голосов

%

1 сайт 36773 13.2%
2-3 сайта 19261 6.9%
не больше 10 сайтов 13850 5.0%
10-20 сайтов 11273 4.0%
Так много, что не могу сосчитать 143795 51.4%
Я вообще не делаю сайты 54580 19.5%

Общее количество проголосовавших составляет: 279532

Оглавление

  1. Основы PHP
  2. Операторы языка PHP
  3. Строковые функции
  4. Массивы
  5. Функции
  6. Работа с файлами
  7. Регулярные выражения
  8. Сессии и cookies в PHP
  9. Работа с FTP
  10. Проверка данных
  11. Гостевая книга
  12. PHP и MySQL
Rambler's Top100
Яндекс цитирования
Rambler's Top100



Справочник функций PHP

   Справочник функций PHP

fopen

Функция fopen — Открыть файл или URL

Синтаксис

resource fopen (string filename, string mode [, int use_include_path [, resource zcontext]])
fopen() возвращает дескриптор потока resource для файла, имя которого передано через параметр filename. Если filename имеет форму "scheme://...", в качестве имени допускается URL и PHP найдёт обработчки протокола (называемый функцией-обёрткой) для данной схемы (scheme). Если функции обёртки в PHP не найдётся, то будет выведено предупреждение для того, чтобы помочь вам найти возможные проблемы в вашем скрипте и затем попытается открыть filename как обычный регулярный файл.

Если PHP решит, что filename - это локальный файл, функция попытается открыть поток для данного файла. Файл должен быть доступен для интерпретатора PHP, следовательно, вы должны удоставерится, что права доступа выставлены правильно. Если вы включите защищённый режим, или установите директиву open_basedir могут быть применены особенности режима ограничений.

Если PHP решит, что filename - это зарегистрированный протокол, и что протокол зарегистрирован как сетевой, PHP проверит включён ли режим allow_url_fopen. Если он выключен, PHP прекратит выполнение функции и выдаст предупреждение.

Параметр mode определяет режим доступа к открытому потоку и может принимать следующие значения:

  • 'r' открыт только для чтения; размещает файловый указатель в начале файла.
  • 'r+' открыт для чтения и записи; размещает файловый указатель в начале файла.
  • 'w' открыт только для записи; размещает файловый указатель в начале файла и усекает размер файла до нулевого размера. Если файл не существует - пытается создать его.
  • 'w+' открыт для чтения и записи; размещает файловый указатель в начале файла и усекает размер файла до нулевого размера. Если файл не существует - пытается создать его.
  • 'a' открыт только для записи; Размещает файловый указатель в конце файла. Если файл не существует - пытается создать его.
  • 'a+' открыт для чтения и записи; Размещает файловый указатель в конце файла. Если файл не существует - пытается создать его.
  • 'x' открыт только для записи; размещает файловый указатель в начале файла. Если файл уже существует, то fopen() завершается с ошибкой и возвращает FALSE после чего выдаётся предупреждение на уровне E_WARNING. Если файл не существует - осуществляется попытка его создания. Это эквивалентно флагам O_EXCL|O_CREAT для системного вызова open(2).
  • 'x+' открыт для чтения и записи; Если файл уже существует, то fopen() завершается с ошибкой и возвращает FALSE после чего выдаётся предупреждение на уровне E_WARNING. Если файл не существует - осуществляется попытка его создания. Это эквивалентно флагам O_EXCL|O_CREAT для системного вызова open(2).


    Необязательный третий параметр use_include_path может быть установлен в '1' или TRUE если вы хотите так же чтобы функция искала файл в include_path.

    Если открытие завершается неудачей, то функция возвращает FALSE и выдаёт предупреждение уровня E_WARNING. Вы можете использовать символ @ для подавления предупреждений.

    Пример кода

    <?php
    $handle 
    fopen("/home/rasmus/file.txt""r");
    $handle fopen("/home/rasmus/file.gif""wb");
    $handle fopen("http://www.example.com/""r");
    $handle fopen("ftp://user:password@example.com/somefile.txt""w");
    ?>


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

    На платформе Windows будьте осторожны с обратными слешами в именах файлов или используйте прямы слеши.

    Пример кода

    <?php
    $handle 
    fopen("c:\\data\\info.txt""r");
    ?>


    Замечание: Когда опция safe mode включена, PHP проверяет, имеет ли каталог, с которым вы собираетесь работать, такой же UID, как и выполняемый скрипт.


  • Вверх

    Если Вам нужна частная профессиональная консультация от авторов многих книг Кузнецова М.В. и Симдянова И.В., добро пожаловать в наш Консультационный Центр SoftTime.