Wardrag
Новичок
День добрый.Как начинающий курлописатель-меломан, столкнулся с тем,что очень надо скачать несколько песен из VK,ввиду чего написал следующий скрипт:
И не работает,а именно - скачивается только первый фаил,а все остальные так и висят - 1 КБ.
Файлы на компе создаются.
В файле htmlsongs.txt содержится исходник страницы,проблем с этим нет.
в songs.txt содержатся сами урлы,проблем с этим нет.
Никаких ошибок в error_log я не увидел(запускаю в апаче под виндой).
Вопрос 1: В чем может быть дело ?
Вопрос 2: Обязательно ли сохранять файлы в двоичном режиме или можно в ascii режиме тоже ? Т.е. "w" вместо "wb" использовать.
P.S. Способ дергать файлы,конечно,древний,но частично рабочий,а писать плагин для фф для такой левой задачи - не вариант.
P.S.P.S. Первый блок кода стоит закомментированным,так как ссылки я уже выдернул.
PHP:
<?php
@set_time_limit(0);
//include("simple.php");
/* $str = file_get_contents("htmlsongs.txt");
$html = str_get_html($str);
$divs = $html->find("div[class=fl_l] input");
foreach($divs as $div) {
$mp3filename = trim($div->getAttribute("value"));
$newfilename = explode(",",$mp3filename);
echo $newfilename[0]."<br>";
}
*/
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"http://vk.com/myid");
curl_setopt($ch,CURLOPT_COOKIE,"remixsid=куки для входа");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$res = curl_exec($ch);
function mp3_downloader($link) {
$filename = "song_".rand(100000,1000000).".mp3";
$fp = fopen($filename,"wb");
$ch = curl_init($link);
curl_setopt($ch,CURLOPT_FILE,$fp);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_TIMEOUT,5);
curl_setopt($ch,CURLOPT_COOKIE,"remixsid=куки для входа");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$res = curl_exec($ch);
fwrite($fp,$res);
curl_close($ch);
fclose($fp);
}
$fp2 = fopen("songs.txt","r");
while(!feof($fp2)) {
$songs_arr[] = fgets($fp2,1024);
}
fclose($fp2);
$songs_kol = count($songs_arr);
for($i = 0;$i < $songs_kol;$i++) {
mp3_downloader($songs_arr[$i]);
sleep(5);
}
?>
Файлы на компе создаются.
В файле htmlsongs.txt содержится исходник страницы,проблем с этим нет.
в songs.txt содержатся сами урлы,проблем с этим нет.
Никаких ошибок в error_log я не увидел(запускаю в апаче под виндой).
Вопрос 1: В чем может быть дело ?
Вопрос 2: Обязательно ли сохранять файлы в двоичном режиме или можно в ascii режиме тоже ? Т.е. "w" вместо "wb" использовать.
P.S. Способ дергать файлы,конечно,древний,но частично рабочий,а писать плагин для фф для такой левой задачи - не вариант.
P.S.P.S. Первый блок кода стоит закомментированным,так как ссылки я уже выдернул.