Potřeboval jsem zobrazit graf (ve formátu obrázku), který je přístupný z lokální sítě na internet. Bohužel to zařízení není dostupné z internetu. V té samé síti se ale nachází Raspberry PI, které dostupné z internetu už je.
Stačí tedy jen stáhnout obrázek, uložit jej do Raspberry PI (graf se mění co 5 minut) a následně ho zobrazit. Velice jednoduché řešení. Proč ale při každém požadavku znovu stahovat ten samý obrázek, když se nemění nijak často. Další možností bylo stáhnout obrázek jen v případě, že ten současný je starší více jak 5 minut. Řešení opět požaduje uložení obrázku.
Jako nejlepší mi přišlo načíst obrázek, převést ho do kódování base64 a následně ho zobrazit. Tím odpadá nutnost něco ukládat, ovšem se trošku prodlužuje doba načtení stránky. V následujícím kódu stačí jen upravit adresu k obrázku v proměnné $image a titulek obrázku.
<?php
$image = 'https://10.158.21.1/graphs/iface/wan/daily.gif';
$imageData = base64_encode(file_get_contents($image));
$imageSrc = 'data: '.mime_content_type($image).';base64,'.$imageData;
echo '<img src="'.$imageSrc.'" title="Daily Graph (5 Minute Average)">';
?>
Komentáře
Nebyly přidány žádné komentáře.