Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] jak pobrać plik PDF z innego serwera
Forum PHP.pl > Forum > Przedszkole
rasten
Witam,
tak jak w temacie, mam linka do pliku pdf i chciałbym go sobie zapisać u siebie na serwerze. Jak narazie znalazłem tylko info jak pobrać taki plik za pomocą wyskakującego okienka z prośbą o zapisanie (header + readfile). Ale ja chce chce to zrobić wszystko automatycznie bez dodatkowej akcji ze strony usera. Czyli skrypt pobiera mi ten plik i zapisuje go (skrypt nie user) na serwerze a potem zapisuje jego nazwe do bazy. Jak to można ugryźć?


EDIT:// acha i jeszcze takie pytanko z innej beczki: czemu nie mogę w wyszukiwarce forumowej szukać po słowach krótszych niż 4 litery? Przecież nasza dziedzina jest pełna skrótów technologii, języków, algorytmow itp. itd.
Hekko
Poprzez curl możesz pobrać plik a następnie go zapisać.
rasten
Ok, dzięki. Zrobiłem coś takiego jak w kodzie poniżej, ale nie zawsze działa. Otóż plik pobieram przez https, a ścieżka do niego ma postać: https://jakis.adres/jakis_katalog/plik.pdf?param1=cos1&param2=cos2. Jak widać url ma parametry i to właśnie na ich podstawie jest generowany pdf. Curl tworzy u mnie na serwerze plik, ale jest on pusty;/ Nie wiem czy to wina połączenia przez ssl czy też może właśnie tych parametrów. Ktoś może pomóc?
Dodam tylko, że jak próbuje dla testów pobrać plik pdf (url bez parametrów) ze swojego serwera zdalnego przez zwykły http to nie ma problemu.

  1. $out = fopen($nazwa'.pdf', 'wb');
  2. $ch = curl_init();
  3.  
  4. curl_setopt($ch, CURLOPT_FILE, $out);
  5. curl_setopt($ch, CURLOPT_HEADER, 0);
  6. curl_setopt($ch, CURLOPT_URL, $wydruki['pdfUrl']);
  7. // opcje dla polaczenia ssl wyłączające jakieś sprawdzanie - trochę niebezpieczne rozwiązanie!
  8. curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
  9. curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);


EDIT//
Dobra nieważne już, poradziłem sobie. Użyłem curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.