Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Dwa serwery
dareksbs
post 22.11.2013, 15:55:24
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 17.10.2012

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


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.
Go to the top of the page
+Quote Post
Rafał Dudziński
post 22.11.2013, 16:05:22
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 30.04.2007
Skąd: Częstochowa

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


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.

Ten post edytował Rafał Dudziński 22.11.2013, 16:05:53
Go to the top of the page
+Quote Post
dareksbs
post 22.11.2013, 18:20:21
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 17.10.2012

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


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



Ten post edytował dareksbs 22.11.2013, 18:22:19
Go to the top of the page
+Quote Post
com
post 22.11.2013, 19:07:21
Post #4





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


PNG a masz plik jpg wiec coś nie tak z plikiem ponadto kodowanie w pliku masz utf8?
Go to the top of the page
+Quote Post
dareksbs
post 22.11.2013, 19:13:17
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 17.10.2012

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


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
Go to the top of the page
+Quote Post
Rafał Dudziński
post 22.11.2013, 20:05:22
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 30.04.2007
Skąd: Częstochowa

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


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");

Ten post edytował Rafał Dudziński 22.11.2013, 20:11:05
Go to the top of the page
+Quote Post
dareksbs
post 22.11.2013, 20:27:12
Post #7





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 17.10.2012

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


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ą
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 Wersja Lo-Fi Aktualny czas: 29.06.2025 - 00:35