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
emantuch
post
Post #2





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

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


  1. curl_setopt($ch, CURLOPT_USERPWD, $login . ':' . $password);


zapisuje również pusty PDF .

PODSUMOWYWUJĄC:

  1. $source = 'https://wfirma.pl/invoice_externals/download/'.trim($id_faktury_w).'/'.$hash_faktury;

zwraca mi ładany link który jak skopiuję i wykonuję WGET w Linuxie pobiera mi fakturę - Logowanie jest niepotrzebne

Kod:
  1. $ch2 = curl_init();
  2. curl_setopt($ch2, CURLOPT_URL, $source);
  3. curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
  4. curl_setopt($ch2, CURLOPT_SSLVERSION,3);
  5. curl_setopt($ch2, CURLOPT_POST, 0);
  6. curl_setopt($ch2, CURLOPT_USERPWD, $login . ':' . $password);
  7.  
  8. $data2 = curl_exec ($ch2);
  9. $error = curl_error($ch2);
  10. curl_close ($ch2);
  11.  
  12. $destination2 = "faktury/test23123123.pdf";
  13. $file2 = fopen($destination2, "w+");
  14. fputs($file2, $data2);
  15. fclose($file2);


Tworzy mi PDF ale pusty i stoję bo nie wiem w którym kierunku iść.
Chciałem wykonać to w sposób:
  1. exec("wget $source -O faktury/faktura.pdf")

nie pobiera i nie tworzy pliku nawet pustego.
Jak zrobię
  1. exec("wget <a href="https://wartosc-source" target="_blank">https://wartosc-source</a> -O faktury/faktura.pdf")

Zapisuje mi plik tak jak chce zeby byl zapisany.

Czy wie ktoś co robię nie tak?

Ten post edytował emantuch 18.10.2015, 18:56:25
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: 31.12.2025 - 07:15