-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 が長い、917 行目の /home/mbeuser/public_html/nephrogest/includes/common/image/ImageFilter.class.php5 で指定された文字列であると想定しています。

これは 917 行目です。

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

3 に答える 3

0

エラーメッセージは次のことを示しています。関数では、5番目のパラメータが、あなたの場合のように文字列ではなく、整数(長い)値である必要があります。

于 2013-03-07T15:29:28.110 に答える
0

関数内では、5番目と6番目のパラメーターは文字列です。

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

PHPのドキュメントによると、これらは整数である必要があるため、=''両方のパラメーターからを削除すれば問題ありません。それでも機能しない場合は、この関数を呼び出しているパラメーターを確認してください。次のように整数にします:(int) $var;またはintval関数を使用します。

于 2013-03-07T15:30:47.897 に答える
0

=''関数自体のパラメーター リストに表示される を削除します。

于 2013-03-07T15:29:00.010 に答える