Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Копирование файлов с сервера на сервер PHP
Новая тема
Ответить
цитата
01/11/09 в 03:13
Mafia
Пишу парсер на PHP, одна из задач которого копирование файлов(картинок) с удаленного сервера на мой хост. Помогите примером или подскажите в сторону каких PHP функций смотреть. Все что нашел в гугле в основном касается лишь аплоаду файлов с локального компа на хост.
upd: сорри, вопрос решен...
Последний раз редактировалось: 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);
ошибка еще на стадии открытия...
Новая тема
Ответить
Эта страница в полной версии