mam pytanie odnośnie pobrania wielkości pliku za pomocą curl przed pobraniem pliku. Chodzi tutaj o plik z rapidshare aby przed jego pobraniem skrypt sprawdził mi jego wielkość która potem muszę wrzucić do "ifa".
Oto skrypt jaki mam:
$url=$link[$a];//tutaj link pobierany z tablicy //logowanie się do rpaidshare $curl = curl_init('https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi'); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, TRUE); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($curl, CURLOPT_COOKIEJAR, "cookiefile"); # SAME cookiefile curl_setopt($curl, CURLOPT_POSTFIELDS, "login=d....f&password=q.....q"); // curl_setopt($curl, CURLOPT_URL, 'https://ssl.rapidshare.com/premiumzone.html'); $xxx = curl_exec($curl); curl_close($curl); $curl = curl_init("$url"); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile"); curl_setopt($curl, CURLOPT_COOKIEJAR, "cookiefile"); # SAME cookiefile curl_setopt($curl, CURLOPT_POSTFIELDS, "login=login&password=haslo"); $xxx = curl_exec($curl); curl_setopt($curl, CURLOPT_BINARYTRANSFER, true); curl_setopt($curl, CURLOPT_URL, $link[$i]); $xxx=curl_exec($curl); $info = curl_getinfo($curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD); curl_close($curl);
I taki skrypt działa lecz jedno co mnie zastanawia to to że jeśli przykładowo sprawdzany plik ma 3MB skrypt wykonuje się szybko a jeśli ma 200MB wykonuje się bardzo długo i wywala błąd że ma zbyt mało pamięci, i teraz moje pytanie czy żeby pobrał nagłówek z wielkośćią pliku skrypt sobie cacheuje plik czyli go sobie pobiera 3MB lub 200MB stąd błąd pamięci przy dużym pliku czy może pobiera sam nagłówek czyli kilka kB i z niego te dane odczytuje.
Jeśli gdzieś robię błąd i pobieram plik a nie sam nagłówek proszę o pomoc.