Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dwa serwery
Forum PHP.pl > Forum > PHP
dareksbs
Witam,

Mam jedno pytanie, jak mogę za pomocą PHP przesłać pliki z jednego serwera przed drugi do klienta. Chodzi ogólnie oto że posiadam stronę kwejko-podobną i cały kontekst (obrazki) trzymam na innym serwerze, aby się zabezpieczyć na tym serwerze zablokowałem wejścia dla wszystkich z wyjątkiem mojego adresu IP i serwera numer 2. Tak więc potrzebuje jakiejś funkcji która będzie pobierała te obrazki z serwera przez serwer gdzie jest strona a następnie aby wyświetlało je przez serwer nr. 2

Trasa powinna wyglądać mniej więcej tak :
Serwer nr. 1 (123.123.123.1) -----> Serwer nr. 2 (123.123.123.2) ----> Użytkownik

Ktoś ma jakiś pomysł ?

Z góry dziękuje za pomoc.
Rafał Dudziński
Serwer1 -> Serwer2(image.php zwracający zdjęcie z Serwer1, np. curlem)-> Użytkownik(<img src="image.php">)
Parametrami GET dla image.php możesz wybierać odpowiednie zdjęcie.
dareksbs
Ok,

Tak więc zrobiłem coś takiego :
  1. $ch = curl_init();
  2. $timeout = 0;
  3. curl_setopt ($ch, CURLOPT_URL, $url);
  4. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  5.  
  6. $img = curl_exec($ch);
  7. curl_close($ch);
  8.  
  9. header("Content-type: image/jpeg");
  10. header("Content-Disposition: attachment; filename=pic.jpg");
  11.  
  12. echo "<img src=/"pic.jpg/">";


I ogólnie wszystko by było dobrze ale nie wyświetla obrazka tylko zamiast obrazka wyrzuca ciąg znaków :
[php]ČPNG

com
PNG a masz plik jpg wiec coś nie tak z plikiem ponadto kodowanie w pliku masz utf8?
dareksbs
Cytat(com @ 22.11.2013, 19:07:21 ) *
PNG a masz plik jpg wiec coś nie tak z plikiem ponadto kodowanie w pliku masz utf8?


Właśnie sprawdziłem na obrazku jpg, i to samo, tak kodowanie w utf8. Widać że ciągnie plik ale wywala go w jakiś szlaczkach zamiast jako normalny obrazek
Rafał Dudziński
dodaj do aktualnych:

curl_setopt($ch,CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

i zamiast echo "<img src=/"pic.jpg/">";

echo $img;

Już ustawiasz nagłówek który mówi jaki będzie typ pliku. To już nie jest html.

i bez tego: header("Content-Disposition: attachment; filename=pic.jpg");
dareksbs
Cytat(Rafał Dudziński @ 22.11.2013, 21:05:22 ) *
dodaj do aktualnych:

curl_setopt($ch,CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

i zamiast echo "<img src=/"pic.jpg/">";

echo $img;

Już ustawiasz nagłówek który mówi jaki będzie typ pliku. To już nie jest html.

i bez tego: header("Content-Disposition: attachment; filename=pic.jpg");


z gdy dodaje to wszystko to strona się nie wyświetla tylko cały czas ładuje i ładuje ją
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.