imagecopyresampled()期望参数5很长

时间:2013-03-07 15:27:20

标签: php

我在项目中使用PHP,而我的朋友使用此代码:

function imagecopyresampled($out, $in, $dstX, $dstY, $srcX=0, $srcY=0, $dstW, $dstH,        $srcW, $srcH)
{
    if($this->GD_VERSION==2)
        return imagecopyresampled($out, $in, $dstX, $dstY, $srcX, $srcY, $dstW, $dstH, $srcW, $srcH);
    else
        return imagecopyresized($out, $in, $dstX, $dstY, $srcX, $srcY, $dstW, $dstH, $srcW, $srcH);
}

当我想上传图片时,我收到了这个错误:

  

警告:imagecopyresampled()期望参数5为long,string   给定的   /home/mbeuser/public_html/nephrogest/includes/common/image/ImageFilter.class.php5   在第917行

这是第917行:

return imagecopyresampled($out, $in, $dstX, $dstY, $srcX,
                          $srcY, $dstW, $dstH, $srcW, $srcH);

3 个答案:

答案 0 :(得分:0)

删除功能本身参数列表中显示的=''

答案 1 :(得分:0)

errormessage告诉你:该函数需要第五个参数为整数(long)值,而不是字符串,就像你的情况一样。

答案 2 :(得分:0)

在你的函数中,第5和第6个参数是字符串:

function imagecopyresampled($out, $in, $dstX, $dstY, $srcX='', $srcY='', $dstW, $dstH,        $srcW, $srcH)
                                                     ^^^^^^^   ^^^^^^

根据PHP docs,它们应该是整数,所以删除这两个参数中的='',它应该没问题! 如果仍然无效,请检查您调用此功能的参数。将它们设为这样的整数:(int) $var;或使用intval函数。