Hogyan tudok a weboldalamon egy a webszerveremmel azonos LAN-ban lévő, de nem portforwardolt szerveren tárolt fájlokat beágyazni?
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).
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.
[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);
}
?>
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!