• Авторизация


туплю с fopen() 12-07-2007 12:41 к комментариям - к полной версии - понравилось!


Господа, чёта туплю.. конструкция простая:

$file = fopen ("http://www.gismeteo.ru/towns/".$gorod.".htm", "r");

if (!$file) {
echo "

Unable to open remote file.\n";
exit;
}
while (!feof ($file)) {
$line = fgets ($file, 100000);


в результате получаю:
Warning: fopen(http://www.gismeteo.ru/towns/27595.htm) [function.fopen]: failed to open stream: Permission denied in /var/www/html/weather/index.php on line 65

Unable to open remote file.

на серваке делаю # wget http://www.gismeteo.ru/towns/27595.htm
всё прекрасно отрабатывает.. 14:20:38 (93,7 KB/s) - `27595.htm' сохранён [41362/41362]

в чём зихер покрылся? может чёта в конфигурации php?

вверх^ к полной версии понравилось! в evernote
Комментарии (9):
Bangerson 12-07-2007-13:18 удалить
у меня твой код работает, в $line получил то что хотел. попробуй через file_get_contents()
Strong_Gale 12-07-2007-13:18 удалить
Для fopen, насколько я помню, путь до файла указывается на физическом носителе, то бишь: "SomeDrive:\SomeDir\Somefile" или "\somedir\somedir\somefile". Путь может быть абсолютным и относительным. Но fopen работает именно с файловой системой, а не протоколом http (предназначенным для передачи гипертекста)
shakirov 12-07-2007-13:28 удалить
Исходное сообщение Strong_Gale
Для fopen, насколько я помню, путь до файла указывается на физическом носителе, то бишь: "SomeDrive:\SomeDir\Somefile" или "\somedir\somedir\somefile". Путь может быть абсолютным и относительным. Но fopen работает именно с файловой системой, а не протоколом http (предназначенным для передачи гипертекста)


Этот код у меня работал на php4, щас поднял новый сервак, нарядил php5 сцуко непашет :)) пришлось заткнуть задачу в cron :)
shakirov 12-07-2007-13:34 удалить
Исходное сообщение Bangerson
у меня твой код работает, в $line получил то что хотел. попробуй через file_get_contents()


таже фигня.. file_get_contents(http://www.gismeteo.ru/towns/27612.htm) [function.file-get-contents]: failed to open stream: Permission denied in /var/www/html/weather/index.php on line 77


такое ощущение что какой-то параметр в конфиге php запрещает удалённые файлы хавать..
zhekanax 12-07-2007-14:08 удалить
If PHP has decided that filename specifies
a registered protocol, and that protocol is registered as a
network URL, PHP will check to make sure that
allow_url_fopen is
enabled. If it is switched off, PHP will emit a warning and
the fopen call will fail.

http://ru2.php.net/manual/en/ref.filesystem.php#ini.allow-url-fopen
на нормальных хостингах это значение обычно false
shakirov 12-07-2007-14:45 удалить
Исходное сообщение zhekanax
If PHP has decided that filename specifies
a registered protocol, and that protocol is registered as a
network URL, PHP will check to make sure that
allow_url_fopen is
enabled. If it is switched off, PHP will emit a warning and
the fopen call will fail.

http://ru2.php.net/manual/en/ref.filesystem.php#ini.allow-url-fopen
на нормальных хостингах это значение обычно false


я думал об этом, но в php.ini

;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;

; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On
zhekanax 12-07-2007-14:53 удалить
shakirov, эммм... може он както не учитывает что это написано в конфиге.... или какого-то модуля не хватаает.
я даже не знаю :)

fsockopen в зубы и вперед :))
shakirov 12-07-2007-15:44 удалить
zhekanax, давненько не программил.. придётся повозиться :)

лана.. бум искать.
Нет_я 12-07-2007-16:46 удалить

а fsockopen?


я када чаго то непонимаю, всюгда ищу альтернативу =)


TLС v.0.7.31c


Комментарии (9): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник туплю с fopen() | web_development - Веб-разработка | Лента друзей web_development / Полная версия Добавить в друзья Страницы: раньше»