Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Pobieranie plików ze zmianą nazwy w locie, Pobieranie plików ze zmianą nazwy z zewnetrznego serwera w locie.
zibihehe
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.08.2009

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


Witam, przeszukałem całe forum i trochę Google i mimo wszystko nie znalazłem takiej odpowiedzi jaka by mnie interesowała mianowicie chodzi mi o funkcje bądź kawałek kodu dzięki któremu plik z zewnętrznego serwera o jakimś tam id, np. 12526 będzie zapisywany pod nową nazwą np. dokument przykładowy.doc. . Próbowałem już funkcji file_get_contents, file czy readfile ale one nie przyniosły efektów, za każdym razem pobierany plik był "pusty" zajmował 1 bajt.

  1. <?php
  2.  
  3. header('Content-type: application/html');
  4.  
  5.  
  6. header('Content-Disposition: attachment; filename="dokument przykładowy.doc"');
  7.  
  8.  
  9. file_get_contents('http://obcy-serwer.pl/plik=25847');
  10.  
  11. ?>


Ten post edytował zibihehe 3.11.2010, 22:53:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. $file = file_get_contents('http://obcy-serwer.pl/plik=25847');
  2. file_put_contents('document.doc',$file);


Ten post edytował CuteOne 4.11.2010, 03:28:59
Go to the top of the page
+Quote Post
zibihehe
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.08.2009

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


Niestety nadal bez zmian sadsmiley02.gif Wciąż nie wczytuje tego pliku z zewnętrznego serwera.
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. $file = file_get_contents('http://obcy-serwer.pl/plik=25847');
  2. echo $file;


sprawdź co się pojawi
Go to the top of the page
+Quote Post
zibihehe
post
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.08.2009

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


To też nie pomogło, gdy skrypt wczytuje plik z tego samego serwera wszystko działa jak należy, niestety gdy już mu się poda ścieżkę z innego- przestaje ? Próbowałem też z readfile, fopen i fread . Nic to nie skutkuje. wstydnis.gif
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nie możesz po prostu użyć wgeta z linii komend?


--------------------
Go to the top of the page
+Quote Post
zibihehe
post
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.08.2009

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


No tak, tylko problem jak go dokładnie zastosować? smile.gif
Próbowałem tak:
  1. file_get_contents('wget www.inny-serwer.pl/plik=5527');

Ale nie przyniosło to efektów. sad.gif

Ten post edytował zibihehe 6.11.2010, 15:15:35
Go to the top of the page
+Quote Post
CuteOne
post
Post #8





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


A jaki dokładnie plik chcesz ściągnąć?

ps. byłbyś chociaż na tyle sumienny aby zajrzeć do manuala i przeczytać jak używać wget.. a nie czekać na gotowca

Ten post edytował CuteOne 6.11.2010, 20:09:40
Go to the top of the page
+Quote Post
zibihehe
post
Post #9





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.08.2009

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


Zaglądałem do manuala ale jedynie odnalazłem ncurses_wgetch i piszę że ta funkcja jest jeszcze nieudokumentowana, nie jestem pewien czy to oto chodzi? :/
Go to the top of the page
+Quote Post
user767
post
Post #10





Grupa: Zarejestrowani
Postów: 178
Pomógł: 5
Dołączył: 13.09.2010

Ostrzeżenie: (40%)
XX---


sprawdź var dump czy coś jest w file
Go to the top of the page
+Quote Post
konrados
post
Post #11





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Nie wiem jak tam z wgetem, ale możesz też użyć curla, bo file_get_contents nie ściągnie zewn. pliku jeśli jakaś tam opcja w php nie jest na "ON", tu masz funkcję z curlem:

  1. function curl_download($remote, $local) {
  2. $cp = curl_init($remote);
  3. $fp = fopen($local, "wb");
  4. if(!$fp){
  5. echo "Couldn't open target file</br>";
  6. }
  7. curl_setopt($cp, CURLOPT_FILE, $fp);
  8. curl_setopt($cp, CURLOPT_HEADER, 0);
  9. curl_exec($cp);
  10. //echo "<br>Error is : ".curl_error ( $cp);
  11. curl_close($cp);
  12. fclose($fp);
  13. }


Ten post edytował konrados 7.11.2010, 09:47:06
Go to the top of the page
+Quote Post
mhw
post
Post #12





Grupa: Zarejestrowani
Postów: 43
Pomógł: 10
Dołączył: 3.08.2009

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


Żeby file_get_contents mógł pobierać z zew. serwera musisz włączyć w php.ini opcję allow_url_fopen.


--------------------
"the quieter you become, the more you are able to hear"
Go to the top of the page
+Quote Post
zibihehe
post
Post #13





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.08.2009

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


Dzięki konrados, oto chodziło, nieraz może plik nie pobierze się cały ale zaczyna to chociaż jakoś działać. ;-)

mhw twoja podpowiedź na pewno też by pomogła ale niestety serwer który obecnie posiadam nie pozwala na edycje pliku php.ini ani na włączenie funkcji allow_url_fopen poprzez plik .htaccess. Tak czy inaczej dzięki wielkie dla wszystkich za pomoc. Super że są tacy ludzie jak wy! biggrin.gif
Go to the top of the page
+Quote Post

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: 21.08.2025 - 06:23