为什么在php中无法获得图像的宽度和高度

为什么在php中无法获得图像的宽度和高度,php,image,amazon-s3,image-uploading,Php,Image,Amazon S3,Image Uploading,我将图像上传到s3服务器,并通过php在服务器上复制该图像, 如果我上传的图像比图像的宽度大2.3MB,但如果我上传的图像比显示图像宽度的图像小26kb,则无法创建副本 以下是我的php代码: $s3 = new S3(awsAccessKey, awsSecretKey); $thumbId = uniqid(); $thumbId .= ".jpg"; $img = ''; if($imgType == "image/jp

我将图像上传到s3服务器,并通过php在服务器上复制该图像, 如果我上传的图像比图像的宽度大2.3MB,但如果我上传的图像比显示图像宽度的图像小26kb,则无法创建副本

以下是我的php代码:

$s3 = new S3(awsAccessKey, awsSecretKey);

        $thumbId = uniqid();
        $thumbId .= ".jpg"; 
        $img = '';

        if($imgType == "image/jpeg"){
            $img = imagecreatefromjpeg($sourceUrl);
        }else if($imgType == "image/png"){
            $img = imagecreatefrompng($sourceUrl);
        }else if($imgType == "image/gif"){
            $img = imagecreatefromgif($sourceUrl);
        }else{
            $img = imagejpeg($sourceUrl);
        }

    echo    $width = imagesx( $img );
        echo $height = imagesy( $img );
请告诉我图像的大小有什么问题

问候


rahul

我可能错了,但我相当肯定这是一个内存问题,因为错误报告的某些方面被关闭了,所以不会显示出来

或者是2.3MB的图像被破坏,或者是GD无法读取的格式——请确保您尝试使用各种图像

如果是内存问题,这里有一个相关的问题


我可能是错的,但我相当肯定这是一个内存问题,不会显示出来,因为错误报告的某些方面已关闭

或者是2.3MB的图像被破坏,或者是GD无法读取的格式——请确保您尝试使用各种图像

如果是内存问题,这里有一个相关的问题

阅读此链接:

正如riky所说,如果可以的话,将内存限制设置得更高。还要认识到尺寸比文件大小更重要(因为文件大小是用于压缩图像的)。当您在GD中打开图像时,每个像素都会获得分配给它的3-4个字节,RGB,可能还有A。因此,您的4912px 3264px图像需要使用48098304到64131072字节的内存,此外还有开销和脚本正在使用的任何其他内存。

阅读此链接:



正如riky所说,如果可以的话,将内存限制设置得更高。还要认识到尺寸比文件大小更重要(因为文件大小是用于压缩图像的)。当您在GD中打开图像时,每个像素都会获得分配给它的3-4字节,RGB,可能还有A。因此,您的4912px x 3264px图像需要使用48098304到64131072字节的内存,此外,还有开销和脚本正在使用的任何其他内存。

图像的宽度不会增加。
您的脚本可能由于内存问题而崩溃。启用
错误报告(E\u ALL)以查找sure@Pekka没有内存问题,我已尝试错误reporting@Rahul到底发生了什么?$width和$height可以得到什么?@Rahul还可以尝试
ini\u set('display\u errors',true)它们应该是另一个问题。因为我已经使用了这种类型的脚本,并且可以处理超过2个md图像。请检查您的GD库版本,好吗?请使用gd2。
图像的宽度不会出现。
您的脚本可能由于内存问题而崩溃。启用
错误报告(E\u ALL)以查找sure@Pekka没有内存问题,我已尝试错误reporting@Rahul到底发生了什么?$width和$height可以得到什么?@Rahul还可以尝试
ini\u set('display\u errors',true)它们应该是另一个问题。因为我已经使用了这种类型的脚本,并且可以处理超过2个md图像。您可以检查GD库版本吗?请使用gd2。我尝试了小于1024KB的wokring格式,php.ini内存限制为160M,那么可能是什么problem@Rahul图像文件的物理尺寸是多少?文件大小与JPG无关,宽度x高度很重要。而且,你仍然没有确切地说出发生了什么。大图像的值是多少?大图像的值是空白值。大图像2.3 mb大小为1024x768,小图像为0.9 mb4351x3000@Rahul“空白值”的确切含义是什么。有什么输出吗?如果添加一个
echo“test”,会发生什么?你试过上面我的
ini\u集
建议了吗?我试过的小于1024KB,这很好,php.ini内存限制是160M——那么可能是什么呢problem@Rahul图像文件的物理尺寸是多少?文件大小与JPG无关,宽度x高度很重要。而且,你仍然没有确切地说出发生了什么。大图像的值是多少?大图像的值是空白值。大图像2.3 mb大小为1024x768,小图像为0.9 mb4351x3000@Rahul“空白值”的确切含义是什么。有什么输出吗?如果添加一个
echo“test”,会发生什么?你试过我上面的
ini\u set
建议了吗?