Я пытаюсь загрузить изображение через PHP, но я не знаю, как это сделать. Имя файла хранится в базе данных, например, image.jpg
if($_GET['image']){ // Client requesting image, so retrieve it from DB $id = mysql_real_escape_string($_GET['image']); $sql = "SELECT * FROM $tbl_name WHERE id = '$id' LIMIT 1"; }
Клиент должен запросить изображение, подобное этому
http://example.com/index.php?image=1
И тогда он должен вернуть изображение, поэтому он может быть встроен следующим образом:
<img src="http://example.com/index.php?image=1" alt="" />
Это возможно?
$img = 'path/to/image.jpg'; header('Content-Type: image/jpeg'); readfile($img);
просто протестировал его
вы можете использовать gd-библиотеку для этого
вы начинаете с создания ресурса с помощью функции типа http://php.net/imagecreatefromjpeg, вам нужно указать путь в качестве параметра
после этого вы просто выводите ресурс, используя такую функцию, как http://php.net/imagejpeg
не забудьте отправить заголовок типа контента, а также использовать imagedestroy на ресурсе
Обновление: рассмотрим этот образец
$im = imagecreatefromjpeg('path/to/image.jpg'); header('Content-Type: image/jpeg'); imagejpeg($img); imagedestroy($img);
Я предлагаю вам сначала сделать файл с именем image.php. Поэтому вы будете называть image.php? Id = 1
У изображения image.php будет тип изображения. header ('Content-Type: image / jpeg');
Затем вы можете использовать библиотеку GDImage в PHP для загрузки изображения и вывода его. Или вы можете прочитать файл и вывести его. Заголовок () является ключевым.
Здесь мое решение
$mime = 'image/jpg'; $out_image = 'default.jpg'; //default no photo image $user_img = 'image.jpg'; //it can be gif, png, jpg //Check if file exist in directory if(file_exist('/path/to/'.$user_img)) { $s = imagesize($user_img); $mime = $s['mime']; $out_image = $img_data; } header('content-type: '.$mime); readfile($img_data);