我想在下面的代碼中列出(也是重新大小)的照片。所以我想用「x」id輸出所有圖像。如何輸出圖像數組?
問題是我有一個標題,我已經包含在文檔中,所以我不能使用header('Content-type: image/jpeg');
來輸出我想要顯示的圖像數組。但是如果我把它拿出來,它只會顯示一堆隨機字符,我知道它是一個字符串中的照片。我不知道如何使這項工作。我打算讓每張照片都有自己的div。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<?php include 'topheader.php'; ?>
</head>
<body>
<?php
ob_start();
ini_set("gd.jpeg_ignore_warning", 1);
$roomid = $_GET['room'];
$query = "SELECT `photoname` FROM `roomsite`.`photos` WHERE `roomid`='$roomid'";
$getphotos = $connect->prepare($query);
if ($getphotos->execute()){
while ($array = $getphotos->fetch(PDO::FETCH_ASSOC)){
$image = imagecreatefromjpeg('userphotos/'.$array['photoname'].'');
list($image_width, $image_height, $type, $attr) = getimagesize('userphotos/'.$array['photoname'].'');
$new_size = ($image_width + $image_height)/($image_width*($image_height/100));
$new_width = $image_width * $new_size;
$new_height = $image_height * $new_size;
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresized($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height);
$imagearray = imagejpeg($new_image, null);
header('Content-type: image/jpeg');
echo $imagearray;
}
} else { die('Query Error'); }
?>
</body>
</html>
我可以做這樣的事情
while ($array = $getphotos->fetch(PDO::FETCH_ASSOC)){
echo '<img src="outputphotos.php">';
}
但是那意味着我將兩次運行查詢這可能不是一個好主意?這是唯一的方法嗎?
爲什麼你甚至需要使用圖像功能呢?你已經有了圖像文件,爲什麼不鏈接到它並使用'width'和'height'屬性讓瀏覽器爲你調整大小?如果存在大小差異,則應考慮將服務器上的圖像保存爲不同的大小。 – animuson 2013-04-21 18:51:33
@animuson嗯,我需要保持圖像的比例與我用來調整圖像大小的代碼相同。我可以只是做:'而($陣列= $ getphotos->取(PDO :: FETCH_ASSOC)){\t \t \t \t \t 回聲 ''; '但是我需要調整圖像大小和相同的比例。 – user2127833 2013-04-21 19:14:27