Я хотел бы добавить изображения на динамически генерируемую страницу (я использую свою собственную систему шаблонов) с PHP.
ПРИМЕЧАНИЕ. Я регулирую доступ к изображениям по соображениям безопасности.
Папка с изображениями находится над корнем сайта, поэтому недоступна по ссылкам HTML.
Я считаю, что есть метод, в котором PHP возвращает файл в качестве ресурса, указывая тип в заголовке, и (поправьте меня, если я ошибаюсь) функцию, специально предназначенную для этого imagejpeg()
,
Посоветуйте, пожалуйста, и, если возможно, напишите простой пример.
Что нужно сделать, чтобы вывести файлы изображений по порядку:
PHP загружает изображение из файла, это file_get_contents
или иным образом fopen
открыть и получить доступ к самому файлу. Если файл представляет собой определенный файл изображения, вы можете открыть файл с помощью imagecreatefromjpeg()
который будет делать это, сгенерировать файл изображения из источника JPEG.
Затем, как только файл загружен из любой точки вашей файловой системы, включая каталоги вне корневого веб-каталога, PHP может выводить данные, полученные в пункте 1, выше, с некоторыми заголовками HTTP и прямой ссылкой на загруженное изображение.
ПРИМЕЧАНИЕ: это означает, что единственным выводом этого файла PHP является изображение,
так что file.php === image.jpg в этом случае.
Итак, краткий пример:
изображение хранится в /home/images/image1.jpg
PHP-файл запускается из /home/site/imagecall.php
Файл PHP говорит:
<?php
if (file_exists('/home/images/image1.jpg')){
$image = imagecreatefromjpeg('/home/images/image1.jpg');
if ($image){
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
}
else {
die("Image could not be loaded");
}
}
Это отправная точка для вас и ни в коем случае не абсолютный ориентир. Проводить исследования.
Полезные ссылки:
Других решений пока нет …