-2

我在我的项目中使用 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 很长,字符串在 /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);
4

3 回答 3

0

删除=''出现在函数本身的参数列表中的那些。

于 2013-03-07T15:29:00.010 回答
0

错误消息告诉您:函数需要第五个参数是整数(长)值,而不是字符串,就像您的情况一样。

于 2013-03-07T15:29:28.110 回答
0

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

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

According to the PHP docs, they should be Integers, so remove the ='' in those both parameters and it should be fine ! If it still doesn't work, check the parameters where you're calling this function. Make them integers like this : (int) $var; or use the intval function.

于 2013-03-07T15:30:47.897 回答