Delayer
Создатель
- Регистрация
- 4 Июл 2009
- Сообщения
- 39
- Реакции
- 4
- Автор темы
- #1
Здравствуйте, столкнулся с такой проблемой: беру удаленную страницу, на ней есть плеер где проигрывается мп3 фаил, парсю страницу забираю параметр - ссылку на этот фаил, мне нужно его скачать к себе на хост.
проблема в том, что когда пытаюсь забрать фаил скриптом сервак редиректит скрипт обратно на страницу с плеером, хотя если вставляю ссылку просто в окно браузера, то фаил качается на комп нормально.
пробовал разные методы, вот примеры:
1. Использовал Curl. Результат фаил нулевой длины, т.е. вроде редирект не произошел но и фаил не скачался...
2. file_get_contents(). Редирект
3. fopen() fwrite(). Редирект
$file[1] во всех случаях один:
Пожалуйста, помогите кто может, я думаю надо как то с курл чуть чуть подделать и все норм будет, но не соображу как...
проблема в том, что когда пытаюсь забрать фаил скриптом сервак редиректит скрипт обратно на страницу с плеером, хотя если вставляю ссылку просто в окно браузера, то фаил качается на комп нормально.
пробовал разные методы, вот примеры:
1. Использовал Curl. Результат фаил нулевой длины, т.е. вроде редирект не произошел но и фаил не скачался...
PHP:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $file[1]);
curl_setopt($ch, CURLOPT_TIMEOUT, 3000);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_REFERER, $murl);
$st = curl_exec($ch);
$fd = @fopen($_SERVER['DOCUMENT_ROOT'].'/media/music/'.$name , 'w');
fwrite($fd, $st);
@fclose($fd);
curl_close($ch);
2. file_get_contents(). Редирект
PHP:
$mp3 = file_get_contents($file[1]);
file_put_contents($_SERVER['DOCUMENT_ROOT'].'/media/music/'.$name, $mp3);
3. fopen() fwrite(). Редирект
PHP:
$destination_folder = 'media/music/';
$url = $file[1];
$newfname = $destination_folder . basename($url);
$file = fopen($url, "rb");
if ($file) {
$newf = fopen($newfname, "wb");
if ($newf)
while (!feof($file)) {
fwrite($newf, fread($file, 1024 * 8), 1024 * 8);
}
}
if ($file) {
fclose($file);
}
if ($newf) {
fclose($newf);
}
$file[1] во всех случаях один:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Пожалуйста, помогите кто может, я думаю надо как то с курл чуть чуть подделать и все норм будет, но не соображу как...