Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> CURL: problem ze zwracaniem curl_getinfo() po wykonaniu pliku
1q2w3e4r
post
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 6.05.2011

Ostrzeżenie: (10%)
X----


Witam,
Potrzebuje dostać Info o całkowitej liczbie pobranych bajtów na końcu wykonania tego skryptu i dopiero wtedy edytować rekord w bazie.
Aktualnie działa to tak, że rekord w bazie aktualizuje się zaraz po załadowaniu kodu i zmienna $transfer nic nie zwraca.. Jak to zrobić..?
  1. $ch = curl_init($file);
  2. curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
  3. curl_setopt($ch, CURLOPT_RESUMSE_FROM, $seek_start);
  4. curl_setopt($ch, CURLOPT_NOBODY, false);
  5. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  6. curl_setopt($ch, CURLOPT_HEADER, 0);
  7. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
  8. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  9. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30');
  10. $result = curl_exec($ch);
  11. $transfer = curl_getinfo($ch, CURLINFO_SIZE_UPLOAD); // całkowita liczba wysłanych bajtów
  12.  
  13. if(!empty($result))
  14. {
  15. mysql_query("UPDATE `downloads` SET `transfer`='".$transfer."', `finished`='1' WHERE `id`='".$downloads_id."' ") or die (mysql_error());
  16. }
  17.  
  18. curl_close($ch);
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Dziwi mnie, że w $transfer nic nie ma. Zrób var_dump($transfer) w linii 12. Możesz też podejrzeć zmienną $result, aby sprawdzić, czy jest w niej to, czego oczekujesz.
Go to the top of the page
+Quote Post
1q2w3e4r
post
Post #3





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 6.05.2011

Ostrzeżenie: (10%)
X----


W $transfer jest 0, nie jest pusta. Plik pobieram z innego serwisu przez mój serwer.
Zależy mi na tym aby rekord zaktualizował się w bazie na końcu wykonywania skryptu, a tak nie jest..
Go to the top of the page
+Quote Post
cycofiasz
post
Post #4





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Przecież ten skrypt pobiera plik i wyświetla go w przeglądarce a nie uploaduje niczego. Daj więc CURLINFO_SIZE_DOWNLOAD zamiast CURLINFO_SIZE_UPLOAD
Go to the top of the page
+Quote Post
1q2w3e4r
post
Post #5





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 6.05.2011

Ostrzeżenie: (10%)
X----


Skrypt dostaje link do zewnętrznego pliku który znajduje się na innym serwerze B.
Ja pobieram ten plik do siebie na komputer przez mój serwer A.

Aby pobrać plik przez mój serwer A. Musze najpierw pobierać go z B do A i dopiero wtedy wysyłać do siebie na komputer. Czyli jest download (gdy pobiera z (IMG:style_emoticons/default/cool.gif) , a upload gdy wysyła z A na mój komputer.

Czyli powinny być oba parametry UPLAOD I DOWNLOAD. Ja tak to rozumiem..
Go to the top of the page
+Quote Post
cycofiasz
post
Post #6





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Źle rozumiesz, curl wykonuje tylko download w tym skrypcie a php wysyła zawartość pliku do przeglądarki. Wstaw więc CURLINFO_SIZE_DOWNLOAD i jak chesz to sobie go mnóż przez 2.
Go to the top of the page
+Quote Post
1q2w3e4r
post
Post #7





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 6.05.2011

Ostrzeżenie: (10%)
X----


Hmm, no ok. To jak teraz zrobić, aby ta wartość wykonała się dopiero po pobraniu?
Go to the top of the page
+Quote Post
cycofiasz
post
Post #8





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Nie rozumiem sformułowania "wartość wykonała się"
Go to the top of the page
+Quote Post
1q2w3e4r
post
Post #9





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 6.05.2011

Ostrzeżenie: (10%)
X----


Sorry, miało być:
To jak teraz zrobić, aby ta zawartość wykonała się dopiero po pobraniu? (to była odpowiedź na Twoja odpowiedź).
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 4.10.2025 - 01:25