Загрузка изображения через PHP - PullRequest
5 голосов
/ 31 марта 2012

Я пытаюсь загрузить изображение через 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="" />

Возможно ли это?

Ответы [ 4 ]

19 голосов
/ 31 марта 2012
$img = 'path/to/image.jpg';
header('Content-Type: image/jpeg');
readfile($img);

только что проверил

2 голосов
/ 31 марта 2012

Для этого вы можете использовать библиотеку 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);
0 голосов
/ 01 апреля 2012

Вот мое решение:

 $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);
0 голосов
/ 31 марта 2012

Я предлагаю вам сначала создать файл с именем image.php.Поэтому вы будете называть image.php? Id = 1

. Заголовок image.php должен быть типом изображения.header ('Content-Type: image / jpeg');

Затем вы можете использовать библиотеку GDImage в PHP для загрузки изображения и его вывода.Или вы можете прочитать файл и вывести его.Заголовок () является ключевым.

...