我从未使用过PHP FILES数组,并开始将它用于此特定任务。从数据库中检索blob元素然后在调整大小后渲染出来,我在这段代码上遇到了麻烦。你可以帮帮我吗?在上传之前我是否需要调整元素的大小,或者也可以这样做。
这就是我做到的。
<img src='data:image/jpeg;base64,".base64_encode($row['x'])." width='100' height='100''/>
答案 0 :(得分:0)
$image = imagecreatefromstring(base64_decode($row['x']));
接下来,使用imagescale
调整图片大小。
$image = imagescale($image, 100, 100);
设置适当的标题:
header('Content-Type: image/jpeg');
使用imagejpeg
:
imagejpeg($image);
使用imagedestroy
:
imagedestroy($image);
现在将<img />
指向此PHP文件。
或者,如果将该逻辑放在自己的文件中对您不起作用,则可以使用输出缓冲来捕获图像as seen in this StackOverflow answer的输出,然后将其直接放在src
中属性。
它会是这样的:
$image = imagecreatefromstring(base64_decode($row['x']));
$image = imagescale($image, 100, 100);
ob_start();
imagejpeg($image);
$contents = ob_get_contents();
ob_end_clean();
echo "<img src='data:image/jpeg;base64,".base64_encode($contents)."' />";
imagedestroy($image);