|
|
|
| Подскажите, плиз, как сохранить страничку из интернета в файл.
Код, который я использую не хочет работать.
<?
$link = "http://www.uralfirm.ru/catalog/card/1";
$fd = fopen($link, "r");
$file = fopen("C:/test.txt", "w");
if (!$fd) echo "Запрашиваемая страница не найдена";
else
{
// Чтение содержимого страницы в файл test.txt
while (!feof ($fd))
{
$file .= fgets($fd, 4096);
}
}
// Закрыть файлы
fclose ($fd);
fclose ($file);
?>
|
Выдает ошибку:
Warning: fopen(http://www.uralfirm.ru/catalog/card/1) [function.fopen]: failed to open stream: Операция на незаблокированном сокете не может быть завершена немедленно. in C:\WWW\Apache2\htdocs\script.php on line 3
Запрашиваемая страница не найдена
Warning: fclose(): supplied argument is not a valid stream resource in C:\WWW\Apache2\htdocs\script.php on line 15 | |
|
|
|
|
|
|
|
для: Mozg
(14.05.2005 в 10:22)
| | У вас для дескриптора файла $file и текстовой переменной $file - одно и тоже название
<?
...
$file = fopen("C:/test.txt", "w");
...
$file .= fgets($fd, 4096);
...
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(14.05.2005 в 13:08)
| | Код переписал. Локально html-ный файл сохраняется замечательно, а из инета выдает ту же ошибку.
<?
$link = "http://www.uralfirm.ru/catalog/card/1";
$fd = fopen($link, "r");
$file = fopen("C:/test.txt", "w");
if (!$fd) echo "Запрашиваемая страница не найдена";
else
{
// Чтение содержимого страницы в переменную text
while (!feof ($fd))
{
$text .= fgets($fd, 4096);
}
}
// Сохраняем в файл
fputs($file, $text);
// Закрываем файлы
fclose ($fd);
fclose ($file);
?>
|
Ошибка
Warning: fopen(http://www.uralfirm.ru/catalog/card/1) [function.fopen]: failed to open stream: Операция на незаблокированном сокете не может быть завершена немедленно. in C:\WWW\Apache2\htdocs\script.php on line 3
Запрашиваемая страница не найдена
Warning: fclose(): supplied argument is not a valid stream resource in C:\WWW\Apache2\htdocs\script.php on line 17 | |
|
|
|
|
|
|
|
для: Mozg
(14.05.2005 в 14:29)
| | У меня ваш код работает на ура... (Apache 1.3.33, PHP 5.0.4). | |
|
|
|
|
|
|
|
для: cheops
(14.05.2005 в 14:37)
| | У меня стоит
apache 2.0.52
php 5.0.2
Причем заливал скрипт на хостер, такой же эффект.
У них
apache 1.3.28
php 4.3.10
В чем может быть дело?
Пробовал разные адреса, получилось только со своего, да еще с одного местного сайта.
Не подскажите в чем тут может быть дело? | |
|
|
|
|
|
|
|
для: Mozg
(14.05.2005 в 15:01)
| | Так ещё может быть, если включён безопасный режим, в этом режиме не работает загрузка файлов с удалённых хостов. | |
|
|
|
|
|
|
|
для: cheops
(14.05.2005 в 23:09)
| | Может дело в том, что соединение с интернетом происходит через прокси-сервер, и надо как-то указать его параметры, потому что с безопасностью вроде все в порядке. | |
|
|
|
|
|
|
|
для: Mozg
(17.05.2005 в 14:06)
| | Да не должно бы вообще говоря влиять... ведь здесь идёт обычный GET-запрос на загрузку HTML-страницы. | |
|
|
|