Kezdőoldal » Számítástechnika » Weblapkészítés » Hogyan tudok a weboldalamon...

Hogyan tudok a weboldalamon egy a webszerveremmel azonos LAN-ban lévő, de nem portforwardolt szerveren tárolt fájlokat beágyazni?

Figyelt kérdés
pl. 192.168.0.1 (internet felől elérhető) gépen van a weboldalam, amin .11-ről akarok egy képet beágyazni. Az <img src="http://192.168.0.11/image.jpg" /> nem működhet, hisz a kliens nem a képet kapja meg közvetlenül ,csak a kép elérési útját, a lanon kívüli gépek pedig nem látnak rá a .0.11-es gépre. Hogyan tudom mégis használni?
2018. márc. 13. 16:30
 1/7 anonim ***** válasza:

Mivel cakkompakk 1 darab publikus IP-d van és két szervered, így annyit tudsz csinálni, hogy pl. a képeket tartalmazó szervereden az adott website-ot egy másik portra rakod át (pl. a 81-es portra). Tehát a beágyazás valahogy így fog kinézni: <img src="http://[publikus IP vagy a hozzá rendelt internet felől elérhető URL]:81/image.jpg" />


...természetesen kell hozzá port átirányítás a routeren (81-es portot a 11-es végű IP-re).

2018. márc. 13. 17:11
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
Vagy: [link]
2018. márc. 13. 18:28
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:

Egyszerű: ne képként tedd oda, hanem egy dinamikus hivatkozásként.


Szóval pl <img src="image.php?id=1234" />


Az adott php meg (mivel a szerveren fut) eléri a másik gépet, lekéri a file-t és elküldi válaszban.

2018. márc. 13. 19:02
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
Nagyon köszönöm a segítséget! A 3. válasz szimpatikus, de mit kell a php-nek vissza adnia? Gondolom, magát a fájl tartalmát...
2018. márc. 14. 11:27
 5/7 anonim ***** válasza:
Pontosan.
2018. márc. 14. 11:57
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

[HTML]:

<img src="/image.php?/image.jpg" />


[image.php]:

<?php

$_ENV['SERVER'] = 'http://192.168.0.10/';

if(isSet($_SERVER["QUERY_STRING"]) AND $_SERVER["QUERY_STRING"]) {

header('Content-Description: File Transfer');

header('Content-Type: image/jpeg');

header('Content-Disposition: attachment; filename='.basename($_SERVER["QUERY_STRING"]));

header('Content-Transfer-Encoding: binary');

header('Connection: Keep-Alive');

$data = @file_get_contents($_ENV['SERVER'].$_SERVER["QUERY_STRING"]);

header('Content-Length: '.strlen($data));

print($data);

}

?>

2018. márc. 14. 12:35
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:
Lekódolhatod, de a proxy sokkal elegánsabb és gyorsabb megoldás.
2018. márc. 22. 01:22
Hasznos számodra ez a válasz?

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!