Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中检查已存储图像(在变量中)的宽度和高度_Php_Html_Css - Fatal编程技术网

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

在PHP中检查已存储图像(在变量中)的宽度和高度,php,html,css,Php,Html,Css,哟,我只是想让这一切顺利。我想接收从数据库加载并已存储在变量$image中的图像的高度和宽度。由于某种原因,代码不起作用。。。使用php7 代码如下: function displayImage($id){ $query = "SELECT pic FROM desk WHERE id=$id"; $result = mysqli_query($GLOBALS['conn'],$query); $resultCheck = mysqli_num_rows($result)

哟,我只是想让这一切顺利。我想接收从数据库加载并已存储在变量$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 .'">';
            }

        }
    }
}
函数显示图像($id){
$query=“从id=$id的桌面选择pic”;
$result=mysqli_查询($GLOBALS['conn'],$query);
$resultCheck=mysqli_num_行($result);
如果($resultCheck>0){
while($row=mysqli\u fetch\u assoc($result)){
$image=base64_编码($row['pic']);
$imageW=imagesx($image);
$imageH=imagesy($image);
如果($imageW>$imageH){
返回“”;

}否则,如果($imageW我将首先将图像存储为字符串,然后对其进行编码,因为图像的宽度和高度可以从解码的字符串中获得。请查看以下代码:

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 .'">';
            }

        }
    }
}
函数显示图像($id){
$query=“从id=$id的桌面选择pic”;
$result=mysqli_查询($GLOBALS['conn'],$query);
$resultCheck=mysqli_num_行($result);
如果($resultCheck>0){
while($row=mysqli\u fetch\u assoc($result)){
$image=$row['pic'];
$b64=base64_编码($image);
$dimen=getimagesizefromstring($image);
$imageW=dimen[0];
$imageH=dimen[1];
如果($imageW>$imageH){
返回“”;

}否则,如果($imageW我将首先将图像存储为字符串,然后对其进行编码,因为图像的宽度和高度可以从解码的字符串中获得。请查看以下代码:

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 .'">';
            }

        }
    }
}
函数显示图像($id){
$query=“从id=$id的桌面选择pic”;
$result=mysqli_查询($GLOBALS['conn'],$query);
$resultCheck=mysqli_num_行($result);
如果($resultCheck>0){
while($row=mysqli\u fetch\u assoc($result)){
$image=$row['pic'];
$b64=base64_编码($image);
$dimen=getimagesizefromstring($image);
$imageW=dimen[0];
$imageH=dimen[1];
如果($imageW>$imageH){
返回“”;

}如果($IMAGEW)需要使用imagecreatefromstring([image string]),将图像资源与图像一起使用这些函数引用PHP GD library创建的图像,而不仅仅是编码为文本的图像作为旁注:永远不要将图像存储在数据库中;最好将对物理文件的引用放在字符串中。PHP.net页面上的示例非常无用,因为您已经知道图像的宽度和高度为GD库创建图像时,请使用e image。将图像临时保存到文件系统,并使用
list($width,$height)=getimagesize('path to image');
确定正确的尺寸您需要使用imagecreatefromstring([image string]),将图像资源与图像一起使用这些函数引用PHP GD library创建的图像,而不仅仅是编码为文本的图像作为旁注:永远不要将图像存储在数据库中;最好将对物理文件的引用放在字符串中。PHP.net页面上的示例非常无用,因为您已经知道图像的宽度和高度为GD库创建映像时,请使用e image。将映像临时保存到文件系统,并使用
list($width,$height)=getimagesize('path to image'))
要确定正确的维度,此方法非常慢,如果您遇到问题,请使用此替代方法:从图像字符串而不是文件中检索维度。@pokeybit我不明白为什么这样慢。我不是从图像中创建字符串,字符串已经存在。这不应该比您的速度慢据我所知,getimagesizefromstring()速度很慢,只需说:)工作正常:)thanks@GašperBožič你很受欢迎:)此方法非常慢,如果您遇到问题,请使用此替代方法:从图像字符串而不是文件中检索维度。@pokeybit我不明白为什么这样慢。我不是从图像创建字符串,字符串已经存在。这不应该比您根据我的理解发布的速度慢。getimagesizefromstring()很慢,只需说:)工作正常:)thanks@GašperBožič你很受欢迎:)