Generált thumbnail fotó letöltő link
Az alapszituáció, hogy vannak egy mappában nagy méretű (HD) fotóim. Az oldalon ezeket természetesen nem teljes méretben jelenítem meg, hanem a generált kis méretű thumbnail képük jelenik csak meg. Ezeket a kis méretű fotókat futásidőben generálja egy php fájl, de ha az adott url-t megnyitom (pl.: imagesCreator.php?photoname=XY.jpg,100,100) akkor megjelenik a thumbnail fotó és le is tudom tölteni a böngésző beépített lehetőségével ha bal klikkel rákattintok.
Én azonban a kis képek alatt elérhetővé tettem egy Download linket a felhasználóknak ahol egy php fájl végzi a letöltést (pl.: photodownload.php?filename=photo.jpg)
A photodownload.php tartalma:De ezzel a megoldással csak a képek TELJES MÉRETBEN történő letöltését tudtam megoldani.
AMIT SZERETNÉK: hogy egy hd kép (1920x1080) teljes méretben való letöltése mellett, azt akár pl.: 1280x720 méretben is letölthesse a felhasználó. Magyarul a futásidőben generált thumbnail fotó is letölthető legyen.
Én annyit próbálkoztam, hogy ehhez mérten módosítottam a photodownload.php-ben az elérési utat, de ez nem volt sikeres megoldás, mert pl. ezt a generált képet: imagesCreator.php?photoname=XY.jpg,100,100 nem tudta letölteni a böngésző.
Úgy gondolom megoldható, amit szeretnék, mert máshol már láttam olyat, hogy egy általam feltöltött fotót több méretben vagy akár fekete fehérben is letölthettem. De mire van nekem ehhez szükségem?
■ Én azonban a kis képek alatt elérhetővé tettem egy Download linket a felhasználóknak ahol egy php fájl végzi a letöltést (pl.: photodownload.php?filename=photo.jpg)
A photodownload.php tartalma:
<?php
$forbidden=Array("html","css","js","ico","png","gif");
$fileName=$_GET['filename'];
$folder="photos/";
$filePath=$folder.$fileName;
if(is_readable($filePath) && is_file($filePath) && !in_array($pathInfo['extension'], $forbidden)) {
session_write_close();
if(isset($_SERVER['HTTPS'])) {
header("Pragma: ");
}
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=\"".trim(htmlentities($fileName))."\"");
header("Content-Length: ".(string)(filesize($filePath)));
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Connection: close");
$bufferSize=16*1024;
$handler=@fopen($filePath,"rb");
while(!feof($handler)) {
echo @fread($handler,$bufferSize);
@flush();
}
@fclose($handler);
} else {
echo '<script>alert("Download Error!");</script>';
}
?>
AMIT SZERETNÉK: hogy egy hd kép (1920x1080) teljes méretben való letöltése mellett, azt akár pl.: 1280x720 méretben is letölthesse a felhasználó. Magyarul a futásidőben generált thumbnail fotó is letölthető legyen.
Én annyit próbálkoztam, hogy ehhez mérten módosítottam a photodownload.php-ben az elérési utat, de ez nem volt sikeres megoldás, mert pl. ezt a generált képet: imagesCreator.php?photoname=XY.jpg,100,100 nem tudta letölteni a böngésző.
Úgy gondolom megoldható, amit szeretnék, mert máshol már láttam olyat, hogy egy általam feltöltött fotót több méretben vagy akár fekete fehérben is letölthettem. De mire van nekem ehhez szükségem?
ezt a generált képet:
Ha az imagesCreator.phpvel van gondod, akkor miért a photodownload.php kódját mutatod?