Как загружать файлы с других сайтов?

fanofaria

Новичок
понимаете, в двух случаях, в случае Myst и в случае
twistfire дома все работает, а когда на серваке пробуешь, он выдает:
failed to open stream: Permission denied in /home/h/ссылка на мой сервак/upload.php on line 4
(вот line 4: $get = file_get_contents("http://***********.php"); // урл скачиваемого файла )
Т.е. получается удаленный сервак, откуда я скачиваю видит что скачивает тоже сервак а не пользователь. ЕСТЬ возможность это обойти?
 

antonio

Moderator
Команда форума
почитай про CURL постом выше и посмотри в сторону user-agent, host заголовков и вобще изучи бегло RFC на HTTP/1.1 и все вопросы снимутся автоматически
 

Solid

Drosera anglica
Автор оригинала: Myst
white phoenix уже написал оптимальное решение по етому вопросу , вот один из примеров:

PHP:
<?
$get = file_get_contents("http://***********.php"); // урл скачиваемого файла
$fp=fopen("c:/www/file.php","w"); // сохраняем файл на диск
fwrite($fp,$get);

print $get; // Выводим содержимое скачаного файла
fclose($fp);
?>
Вообще, white phoenix, должен над вами смеяться... Вы не правильно написали сохранение файла... white phoenix советует писать через
PHP:
file_put_contents("c:/www/file.php", $get);
 

Myst

Новичок
Автор оригинала: Solid
Вообще, white phoenix, должен над вами смеяться... Вы не правильно написали сохранение файла... white phoenix советует писать через
PHP:
file_put_contents("c:/www/file.php", $get);
А ему не над чем смеятса white phoenix написал только функцию , я же привел работающий пример , конечно может через file_put_contents будет лучше работать и правильней но пока что у меня не возникало никаких сбоев и конфилктов при работе с таким примером сохранения.

P.S. с етим примером мне раньше помогли на етом форуме и ни у кого смеха при етом не вызвало.
 

fanofaria

Новичок
хм, не работает вышенаписанный код, пишет Permission denied in .... ну вобщем как всегда. может кто знает, как от этого избавиться? только не пишите пожалуста "почитай про CURL постом выше и посмотри в сторону user-agent..." потому как я и сам знаю что если прочитать с 10-к книг то может что-то и соображу, а я прошу только пару строчек кода написать. плиззз! :)
 

Solid

Drosera anglica
Тебе уже написали:
PHP:
<?
function download_pretending($url) {
   $ch = curl_init();
   curl_setopt ($ch, CURLOPT_URL, $url);
   curl_setopt ($ch, CURLOPT_HEADER, 0);
   curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
   $result = curl_exec ($ch);
   curl_close ($ch);
   return $result;
}

file_put_contents("./phpclub_talk.html", download_pretending('http://phpclub.ru/talk/'));
?>
 
Сверху