witam
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);
echo "wielkość pliku to $info";
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.