PHP-Fusion
v.7.01
AP-Fusion
v7.02.04
Pimped-Fusion-AP
v0.09.03
мая 23 2012 05:23:09
Навигация
· Новости
· Статьи
· Скачать
· Форум
· Ссылки
· Категории новостей
· Обратная связь
· Галерея
· Поиск
· Гостевая
· Коллекция аватар
· CMS AP-Fusion. Отличия от PHP-Fusion
· Javascript справочник
· Разное
· Техника
Сейчас на сайте
· Гостей: 4

· Пользователей: 1
labye

· Всего пользователей: 446
· Новый пользователь: labye
Информеры
Загрузка файлов  +  -
Бытовая техника:  +  
Лента alipapa.ru
Карпаты. Верховина.
Карпаты. Драгобрат.
Карпаты. Яремче, Яблунецкий перевал.
dbForge Studio for MySQL вместо PHPMyAdmin
Облачные технологии - насколько это серьезно?
Как распределяется вес по сайту

Совместимость CMS
Solomono.ru - сервис для веб-мастера
Микроразметка веб-страниц.
АГС - не приговор.

Немного о политике.
Что такое АГС и как с ним бороться?
Долгожданный АП PR

PR Google: 9 месяцев без апдейта
Поведенческий фактор - модная тенденция?
Wi-Fi дома. Что делать, если 192.168.0.1 занято?

Ускоренная переиндексация страниц в Яндексе
Как я ставил винду на нетбук.
ROOKEE - инструмент оптимизатора.
Строим рейтинг-каталог
Ссылки  +  -
Блоги
Alipapa
» Блог Алипапы
lom
» Блог Лома
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
TinyMCE
Вопросы по работе
8189 52 gimmi
21-05-2012 11:11
Первая версия
Blog System
1395 18 Alipapa
15-05-2012 14:47
Какие права должны стоять н...
Вопросы по работе
228 3 Alipapa
11-05-2012 13:04
Как закрепить несколько нов...
Вопросы по работе
282 7 Медвед
10-05-2012 11:45
Как определить оптимальную ...
Вопросы по работе
591 12 Медвед
10-05-2012 11:42
Гостевая книга
Моды, плагины
350 6 lom
10-05-2012 11:33
Статьи не работают
Вопросы по работе
312 6 lom
10-05-2012 11:30
RSS
Вопросы по работе
150 6 vesuvius
21-04-2012 20:02
Pimped-Fusion. Первые впеча...
Ошибки, баги, глюки
4134 109 Alipapa
09-04-2012 21:02
[Опрос] PHP-Fusion-Themes.ru - Гене...
Моды, плагины
295 6 Vveb--ws
03-04-2012 01:43

fopen

(PHP 3, PHP 4 , PHP 5)

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

Описание

resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )

fopen() закрепляет именованый ресурс, указанный в аргументе filename, за потоком. Если filename передан в форме "scheme://...", он считается URL'ом и PHP проведёт поиск обработчика протокола (также известного как "обвёртка") для этой схемы. Если ни одна обвёртка не закреплена за протоколом, PHP выдаст замечание чтобы помочь вам отследить потенциальную проблему в вашем скрипте и продолжит выполнение, будто filename указывает на обыкновенный файл.

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

Если PHP решил, что filename указывает на зарегистрированный протокол и этот протокол зарегистрирован как сетевой URL, PHP проверит состояние директивы allow_url_fopen. Если она выключена, PHP выдаст предупреждение и вызов fopen закончится неудачей.

Замечание: Список поддерживаемых протоколов доступен в разделе Прил. L. Некоторые протоколы (обвёртки) поддерживают context и/или опции php.ini. Обратитесь к соответствующей странице с описанием используемого протокола для получения списка опций, которые могут быть установлены. (например, значение php.ini user_agent используется обвёрткой http). Для получения описания параметров contexts и zcontext, обратитесь к разделу Ссылка CXX, Stream Functions.

Замечание: Поддержка контекста была добавлена в PHP 5.0.0.

Замечание: Начиная с версии PHP 4.3.2, бинарный режим является режимом по умолчанию для всех платформ, которые различают бинарный и текстовый, режимы. Если у вас возникли проблемы после обновления, попробуйте использовать флаг 't' в качестве обходного пути до тех пор, пока вы не измените свои скрипты для достижения большей портируемости, как отмечено выше.

Параметр mode указывает тип доступа, который вы запрашиваете у потока. Он может быть одним из следующих:

Таблица 1. Список возможных режимов для fopen() используя mode

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

Замечание: Разные семейства операционных систем имеют разные соглашения относительно окончанийя строк. Когда вы пишете текст и хотите вставить разрыв строки, вы должны использовать правильный(-ые) символ(ы) для вашей операционной системы. Системы семейства Unix используют \n в качестве символа конца строки, системы семейства Windows используют \r\n в качестве символов окончания строки и системы семейства Macintosh используют \r в качестве символа конца строки.

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

Windows предлагает флаг режима текстовой трансляции ('t'), который автоматически переведёт \n во время работы с файлом. И наоборот - также вы можете использовать 'b' чтобы принудительно включить бинарный (двоичный) режим, в котором ваши данные не будут преобразовываться. Чтобы использовать эти режимы, укажите 'b' или 't' в качестве последней буквы параметра mode.

Так как установка флага трансляции по умолчанию зависит от SAPI и версии PHP, которую вы используете, рекоммендуем явно задавать указанный флаг из соображений портируемости. Вы должны использовать режим 't' если вы работаете с текстовым файлом и использовать \n для разделения для обозначения конца строки в вашем скрипте, при этом не беспокоясь за читаемость ваших файлов в других приложениях типа "Блокнота". В противном случае вам следует использовать флаг 'b'.

Если вы явно не укажете флаг 'b' во время работы с бинарными файлами, вы можете столкнуться со странной порчей ваших данных, включая испорченные файлы изображений и странные проблемы с символами \r\n.

Замечание: Из соображений портируемости, настоятельно рекоммендуется всегда использовать флаг 'b' при открытии файлов с помощью fopen().

Замечание: Кроме того, из соображений портируемости, также настойчиво рекоммендуется переписать старый код, который полагается на режим 't', чтобы вместо этого он использовал правильные окончания строк и режим 'b'.

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

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

Пример 1. Примеры использования функции fopen()

<?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" );
?>

Внимание

При использовании SSL, Microsoft IIS будет нарушать протокол, закрывая соединение без отправки индикатора close_notify. PHP сообщит об этом как о "SSL: Fatal Protocol Error" в момент, когда вы достигните конца данных. Чтобы обойти это, вы должны опустить ваш уровень error_reporting, чтобы исключить предупреждения (E_WARNING). PHP 4.3.7 и младше может определять глючный IIS-сервер, когда вы открываете поток используя обвёртку https://, и не отобразит это предупреждение. Если вы используете fsockopen() для создания ssl:// сокета, вы сами отвечаете за определение и подавление этого предупреждения.

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

См. также раздел Прил. L, описание функций fclose(), fgets(), fread(), fwrite(), fsockopen(), file(), file_exists(), is_readable(), stream_set_timeout() и popen().

Все функции PHP:
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

12/04/2012 22:03
Это, в общем-то, нехороший признак

29/03/2012 18:52
Иногда хочется написать большими красными буквами, чтобы доходило быстрее Smile


29/03/2012 16:29
На форуме вопросы в основном ко мне, а я дальтоник

29/03/2012 15:31
Alipapa, а почему на форуме не включены цвета текста?

24/03/2012 18:38
Мультиблогом люди интересуются. Что имеется у нас?


02/03/2012 14:34
Как их запретить? Что-то в админке я не нашел, придется код править


23/02/2012 04:21
А ещё в голосованиях невозможно отредактировать опцию


23/02/2012 04:18
Alipapa, посмотри ГОЛОСОВАНИЯ НА ФОРУМЕ - почему у тебя там стоят по две кнопки "Обновить"?


23/02/2012 04:16
Желательно. Прилично.

21/02/2012 20:48
а это обязательно?

21/02/2012 19:23
Почему нет логотипа вверху на шапке? [img]http://ap-fus
ion.ru/images/news
_cats/ap-fusion.gi
f[/img]

13/02/2012 15:04
Всех влюблённых с праздником!!!

04/02/2012 09:08
Еще раз прошу всех. Если вопрос не личный, пишите в форум. В личке, аське, скайпе, мейле и т.д. не консультирую



ммм
14/01/2012 18:45
avisei, пиши в форум, а не шли мне личные посланья

31/12/2011 16:01
С праздником Нового Года! Успехов, счастья, богатства!


08/12/2011 16:13
MySQL нужен. Инструкция вот: [url]http://ap-fus
ion.ru/downloads.p
hp?download_id=58[
/url]

08/12/2011 16:03
Я канеш дико извиняюсь, но где на этом сайте статья по установке fusion, нужен ему MySql или нет? Smile


07/12/2011 11:03
ОК)

07/12/2011 11:02
этот - для 7.0

07/12/2011 11:00
Я устанавливаю, как в инструкции. Куча ошибок. Не могу сделать upgrade!

Анонс
Последние статьи
· О стабилизаторах нап...
· СМС и Вебмани
· TinyMCE для пользова...
· PCRE (Perl Compatibl...
· PCRE (Perl Compatibl...
4,782,819 уникальных посетителей Iceberg by Harly