Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzenie wielkości pobieranego pliku przed pobraniem
rufus1987
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.04.2009

Ostrzeżenie: (0%)
-----


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:
  1. $url=$link[$a];//tutaj link pobierany z tablicy
  2.  
  3. //logowanie się do rpaidshare
  4. $curl = curl_init('https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi');
  5. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, TRUE);
  6. curl_setopt($curl, CURLOPT_HEADER, 0);
  7. curl_setopt($curl, CURLOPT_POST, true);
  8. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  9. curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
  10. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
  11. curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile");
  12. curl_setopt($curl, CURLOPT_COOKIEJAR, "cookiefile"); # SAME cookiefile
  13. curl_setopt($curl, CURLOPT_POSTFIELDS, "login=d....f&password=q.....q");
  14. // curl_setopt($curl, CURLOPT_URL, 'https://ssl.rapidshare.com/premiumzone.html');
  15. $xxx = curl_exec($curl);
  16.  
  17. curl_close($curl);
  18.  
  19. $curl = curl_init("$url");
  20. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
  21. curl_setopt($curl, CURLOPT_HEADER, 0);
  22. curl_setopt($curl, CURLOPT_POST, true);
  23. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  24. curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
  25. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
  26. curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile");
  27. curl_setopt($curl, CURLOPT_COOKIEJAR, "cookiefile"); # SAME cookiefile
  28. curl_setopt($curl, CURLOPT_POSTFIELDS, "login=login&password=haslo");
  29.  
  30. $xxx = curl_exec($curl);
  31. curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
  32. curl_setopt($curl, CURLOPT_URL, $link[$i]);
  33. $xxx=curl_exec($curl);
  34.  
  35. $info = curl_getinfo($curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
  36. curl_close($curl);
  37.  
  38. 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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 15:43