在 PHP 中检查已存储的图像(在变量中)的宽度和高度



哟,我只是想让这项工作。我想接收我从数据库中加载并已存储在变量$image中的图像的高度和怪异度。由于某种原因,代码不起作用...使用 PHP7

这是编码:

function displayImage($id){
$query = "SELECT pic FROM desk WHERE id=$id";
$result = mysqli_query($GLOBALS['conn'],$query);
$resultCheck = mysqli_num_rows($result);
if($resultCheck>0){
while($row = mysqli_fetch_assoc($result)){
$image = base64_encode($row['pic']);
$imageW = imagesx($image);
$imageH = imagesy($image);
if($imageW>$imageH){
return '<img align="center" height=50% width=auto src="data:image;base64,'.$image.'">';
}else if($imageW<$imageH){
return '<img align="center" height=auto width=50% src="data:image;base64,'.$image .'">';
}else if($imageW===$imageH){
return '<img align="center" height=50% width=50% src="data:image;base64,'.$image .'">';
}
}
}
}

感谢任何帮助:)的人

我会先将图像存储为字符串,然后对其进行编码,因为图像宽度和高度可以从解码的字符串中获得。请看下面的代码:

function displayImage($id){
$query = "SELECT pic FROM desk WHERE id=$id";
$result = mysqli_query($GLOBALS['conn'],$query);
$resultCheck = mysqli_num_rows($result);
if($resultCheck>0){
while($row = mysqli_fetch_assoc($result)){
$image = $row['pic'];
$b64 = base64_encode($image);
$dimen = getimagesizefromstring($image);
$imageW = dimen[0];
$imageH = dimen[1];
if($imageW>$imageH){
return '<img align="center" height=50% width=auto src="data:image;base64,'.$b64.'">';
}else if($imageW<$imageH){
return '<img align="center" height=auto width=50% src="data:image;base64,'.$b64 .'">';
}else if($imageW===$imageH){
return '<img align="center" height=50% width=50% src="data:image;base64,'.$b64 .'">';
}
}
}
}

最新更新