![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
дурацкий вопрос,
вот я открываю файл fopen. чтобы проверить существует ли он - file_exists а если я парсю страничку по адресу http://и_так_далее то file_exists уже не работает иногда сервис который я открываю fopen отваливается и тогда появляется ошибка вида: Warning: fopen(http://server): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in ... её конечно можно заткнуть с помощью @, а иного способа нет? |
|||
|
||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
fsockopen. Там устанавливается $errorcode, который можно отловить.
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
что-то fsockopen вообще работать не хочет:
Warning: fsockopen(): php_network_getaddresses: gethostbyname failed in d:\www\site\train\prob.php on line 15 Warning: fsockopen(): unable to connect to http://neotpuskaet.ru/modules/rss/rss_hottour.php:80 in d:\www\site\train\prob.php on line 15 если открывать fopen, то возвращает xml |
|||
|
||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
Потому что fsockopen работает совсем по-другому.
http://php.net/fsockopen + готовые примеры здесь: http://de3.php.net/manual/en/features.remote-files.php А зачем затыкать fopen? В чем проблема проверки булевого результата работы ащзут, |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| DeamonShan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 26.11.2005 Репутация: 3 Всего: 6 |
воспользуймя классом HTTP_REQUEST
$req =& new HTTP_Request('http://neotpuskaet.ru/modules/rss/rss_hottour.php'); if (!PEAR::isError($req->sendRequest())) { $f=fopen("tmp.xml","w"); fwrite($f, $req->getResponseBody()); fclose($f); } Сурс... |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
жесть какая, я чисто хотел слегка придать коду стройности, т.к. @ как зло меня раздражает, но подключение доп. класса не соразмерно с одним маленьким пёсиком
собственно вопрос дурацкий, я думал мож найдётся решение двумя-тремя стандартными функциями ладно, спасибо за ответы ещё покручу fsockopen, мож получится, но по-моему цель не оправдывает усложнение |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
bars80080, Не поверишь,
но @fopen(url) иногда использую для проверки наличия удаленной страницы -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| DeamonShan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 26.11.2005 Репутация: 3 Всего: 6 |
fopen(url) - неправильное решение задачи...
|
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
DeamonShan, ты гений
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| DeamonShan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 26.11.2005 Репутация: 3 Всего: 6 |
я не гений, просто это неправильно...))))) свой пример я привел))) выше... fopen() изначально предназначен для локальных файлов, даже если и умеет открывать урлы)))))... меня fopen(url) так же раздрожает, как и @ bars80080 Это сообщение отредактировал(а) DeamonShan - 29.4.2008, 23:43 |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Аргументировано настолько, что я ничего не понял :( Ок, тогда я займусь просветительством. http://ua2.php.net/manual/ru/function.fopen.php Работает с любым доступным для PHP wrapper. А это значит что мы можем использовать его как универсальное средство для работы и с URL и с файлами. Работает, ко всему прочему, правильно, и быстрее, чем любые придуманные костыли. С генерацией ответов в XML, а потом доблестным разбором оного. Класс HTTP_REQUEST, рекомендованный тобой, предназначен несколько для других вещей, чем простая проверка - существует ли файл. Вот простой пример полезного применения @ для выяснения картинка ли заданный файл, попутно этот код так же проверяет, наличие файла.
А раздражает fopen(url) - по одной простой причине - неумение работать с stream. Это сообщение отредактировал(а) Fortop - 30.4.2008, 00:19 -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| DeamonShan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 26.11.2005 Репутация: 3 Всего: 6 |
умею я работать с фопеном и стримом и всем что связано с ним...
вобщем не важно))) согласен с тобой.. фопеном иногда проще)) Это сообщение отредактировал(а) DeamonShan - 30.4.2008, 09:00 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
да понятно что быстрее, просто собака есть зло по определению и смахивает на заплатку, хотел узнать есть ли сравнительно простой способ изъять её из кода, но видимо, она в самом деле самой простой в этом случае способ и нечего заморачиваться
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |