Копирование странички из инета на сервер

vladlen

Новичок
Копирование странички из инета на сервер

Нужно скачать html страничку из инета и запомнить её в другом файле на сервере. Нижеприведённый код работает с локальными файлами, а с инета не качает,ругается на 2 строчку failed to open stream: Bad file descriptor in

$myf="http://www.gismeteo.ru/towns/27890.htm";
if (!($fp = fopen($myf, "r"))) die("Ошибка соединения");
$temp=fopen("temp.htm","w+");
$file = fread($fp, 1500000);
$file = trim(chop($file));
$news=fwrite($temp, $file);
fclose ($fp);
fclose ($temp);

В чём ошибка. Или данную задачу надо решать другим путём?
 

Demiurg

Guest
[m]fopen[/m] читай про открытие удаленных файлов.

а вообще для таких целей сделали [m]curl[/m]
 

sergadm

Новичок
может через проху у тебя инет?
PHP:
        $ch = curl_init("http://www.gismeteo.ru/towns/36003.htm");
        $fp = fopen ($pr_path."gis_pr1.htm", "wb");
//        curl_setopt ($ch, CURLOPT_PROXY, 'проху:порт');
//        curl_setopt ($ch, CURLOPT_PROXYUSERPWD, "юзер:пароль");
        curl_setopt ($ch, CURLOPT_FILE, $fp);
        curl_setopt ($ch, CURLOPT_HEADER, 0);
        curl_exec ($ch);
        curl_close ($ch);
        fclose ($fp);
 

vladlen

Новичок
Спасибо за советы. С curl заработало. Но есть непонятный глюк. Страничка на экран выводится, но если пытаешься записать в файл, вылетает сообщение "php сделало ошибку и будет закрыто"

curl_setopt ($ch, CURLOPT_FILE, $fp);

если же эту строчку закоментировать, всё работает
Вайл для записи написал так
$fp = fopen ("temp.htm", "w+");
 
Сверху