Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak pobrać PDF z URL i zapisać go na serwerze?
emantuch
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 23.09.2015

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


To znów ja (IMG:style_emoticons/default/biggrin.gif)

Mam problem, gdyż testowałem już wiele form pobierania PDF na serwer i albo nie pobiera nic albo zwraca pusty plik. Mianowicie muszę pobrać PDF do katalogu Faktury
https://wfirma.pl/invoice_externals/download/ID/HASH

Jak mogę pobrać PDF spod takiego linku i zapisać go na serwerze?

Chciałem wykonać to w ten sposób:
  1. $source = 'https://wfirma.pl/invoice_externals/download/'.$id_faktury_w.'/'.$hash_faktury;
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, $source);
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($ch, CURLOPT_SSLVERSION,3);
  6. $data = curl_exec ($ch);
  7. $error = curl_error($ch);
  8. curl_close ($ch);
  9.  
  10. $destination = "faktury/test.pdf";
  11. $file = fopen($destination, "w+");
  12. fputs($file, $data);
  13. fclose($file);


ale zapisuje mi pusty test.pdf .
Wbijając taki link: https://wfirma.pl/invoice_externals/downloa...36;hash_faktury w przeglądarce pobiera się faktura.

Pomoże ktoś?



Ten post edytował emantuch 18.10.2015, 17:20:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


  1. //Ustaw tryb verbose i loguj komunikację
  2. curl_setopt($ch2, CURLOPT_VERBOSE, true);
  3. curl_setopt($ch2, CURLOPT_STDERR, 'curl_output.log');
  4.  
  5. // Podążaj za przekierowaniami
  6. curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);
  7.  
  8. // Jeśli powyższe nie da rezultatu
  9. // wyłącz weryfikację SSL
  10. curl_setopt($ch2, CURLOPT_SSLVERSION, false);
  11.  
  12. // może ustaw useragent i referer
  13. curl_setopt($ch, CURLOPT_REFERER, 'https://wfirma.pl/');
  14. curl_setopt($ch, CURLOPT_AUTOREFERER, true); // dla przekierowań
  15. curl_setopt($ch, CURLOPT_REFERER, 'Mozilla/5.0 (X11; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0');
  16.  
  17. // lub przekierowanie pobierania do pliku zamiast fputs
  18. curl_setopt($ch, CURLOPT_FILE, 'faktury/faktura.pdf');
Go to the top of the page
+Quote Post

Posty w temacie


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: 28.12.2025 - 16:29