Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Копирование файлов с сервера на сервер PHP
цитата
01/11/09 в 03:13
 Mafia
Пишу парсер на PHP, одна из задач которого копирование файлов(картинок) с удаленного сервера на мой хост. Помогите примером или подскажите в сторону каких PHP функций смотреть. Все что нашел в гугле в основном касается лишь аплоаду файлов с локального компа на хост. icon_confused.gif

upd: сорри, вопрос решен... icon_smile.gif

Последний раз редактировалось: Mafia (01/11/09 в 03:17), всего редактировалось 1 раз
цитата
01/11/09 в 03:17
 ibiz
самые простые варианты:
file
fsockopen
curl
цитата
01/11/09 в 03:17
 Axel-B
Код:
function url_content($url,$ref) {
         if(!$ref){$ref="http://www.google.com/search?hl=en&suggon=0&safe=off&q=free+pics&start=360&sa=N";}
       $USERAGENT = "Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14";

    $ch = curl_init( );
    curl_setopt( $ch, CURLOPT_URL, $url );
    curl_setopt( $ch, CURLOPT_USERAGENT, $USERAGENT );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
    curl_setopt( $ch, CURLOPT_REFERER, $ref );
    curl_setopt( $ch, CURLOPT_COOKIEJAR, "temp.txt" );
    curl_setopt( $ch, CURLOPT_COOKIEFILE, "temp.txt" );
    curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1 );
    curl_setopt( $ch, CURLOPT_TIMEOUT, 60 );
    $get = curl_exec( $ch );
    curl_close( $ch );
    return $get;
}


Примерно так наверно
цитата
01/11/09 в 03:20
 Mafia
сделал так, вроде работает...

Код:
$url="http://somehost/img.gif";
$img=file_get_contents($url);
$arr=parse_url ($url);
$name=basename( $arr["path"] );
file_put_contents($name,$img);


всем спасибо!..
цитата
01/11/09 в 03:24
 W
Ага, до первого антихолинка.
цитата
01/11/09 в 19:04
 Dr.Syshalt
Антихотлинк это не обнаружит. Во всяком случае, если не запрещено получение имиджей без реферера вообще - что уже просто по-драконовски.
цитата
01/11/09 в 22:05
 nasguler
подскажите что я делаю не так

вот так копирует файл нормально
Код:
$buffer=file_get_contents("index_3.php");
file_put_contents("index_4.php",$buffer);


а так только пустой создает и все
Код:
$buffer=file_get_contents("http://bla.bla.bla/index_3.php");
file_put_contents("index_4.php",$buffer);
цитата
01/11/09 в 22:50
 ibiz
nasguler писал:
подскажите что я делаю не так
вот так копирует файл нормально
Код:
$buffer=file_get_contents("index_3.php");
file_put_contents("index_4.php",$buffer);

а так только пустой создает и все
Код:
$buffer=file_get_contents("http://bla.bla.bla/index_3.php");
file_put_contents("index_4.php",$buffer);


все верно делаешь
цитата
01/11/09 в 23:19
 Dr.Syshalt
nasguler писал:

а так только пустой создает и все


В мануале ж все расписано. allow_url_fopen отключен, скорее всего. А вообще надо в таких случаях смотреть в error_log, а не гадать ;)
цитата
03/11/09 в 17:14
 nasguler
Dr.Syshalt писал:
В мануале ж все расписано. allow_url_fopen отключен, скорее всего. А вообще надо в таких случаях смотреть в error_log, а не гадать ;)


сори, что туплю, помогите начинающему
allow_url_fopen = on более подробно можно посмотреть сдесь: http://nasguler.freehostia.com/p/my.php

Подскажите где искать error_log, есть каталог /home/logs/nasguler.freehostia.com/logs/, но он пустой

Направьте на подробный мануал, а то все что я прочел ответа не дало, правда про "обвёртку" не совсем понял...

или подскажите хост на котором это работает
цитата
03/11/09 в 17:24
 Alexandur
Интересно. А так попробуй:

Код:

$filename = "http://bla.bla.bla/index_3.php";
$handle = fopen($filename, "r");
$buffer = fread($handle, filesize($filename));
fclose($handle);
цитата
03/11/09 в 18:24
 nasguler
gimcnuk писал:
Интересно. А так попробуй:
Код:

$filename = "http://bla.bla.bla/index_3.php";
$handle = fopen($filename, "r");
$buffer = fread($handle, filesize($filename));
fclose($handle);


ошибка еще на стадии открытия...


Эта страница в полной версии