0

以下のコードを動作させることができません。元の画像を S3 バケットに保存してから、同じ画像の 2 つのバリエーションのサイズを変更し、PHPThumb_GdThumb によって生成された文字列を S3 に送信していますが、サイズ変更された画像には 0kb があり、エラーが含まれています。

画像はmybucket/objectおよびmybucket/object/thumbに正常に書き込まれますが、サム フォルダーの画像は 0kb で、エラーが含まれています。

これが私のコードです:

    // Add Original to S3 before doing any cropping

    $s3_path = 'mybucket/object';
    $S3_folder->addToBucket($s3_path.'/'.$filename, $path);


    $GDImage = new PHPThumb_GdThumb("{$path}");
    if (!$GDImage->getHasError())
    {
        // get images dimensions
        $dimensions = $GDImage->getCurrentDimensions();
        $imageWidth = (int) $dimensions['width'];
        $imageHeight = (int) $dimensions['height'];
        // thumbnails
        if ($imageHeight > $imageWidth)
        {
            $thumbPercent = floor(self::THUMB_SIZE / $imageHeight * 100);
        } else if ($imageHeight < $imageWidth)
        {
            $thumbPercent = floor(self::THUMB_SIZE / $imageWidth * 100);
        } else
        {
            // it's a square use either
            $thumbPercent = floor(self::THUMB_SIZE / $imageWidth * 100);
        }



        if ($imageHeight > self::THUMB_SIZE)
        {
            $img_string = $GDImage->resizePercent($thumbPercent)
                ->cropFromCenter(self::THUMB_SIZE)
                ->getImageAsString();


        } else
        {
            $img_string = $GDImage->getImageAsString();
        }


        $S3_folder->addToBucket($s3_path.'/thumb/'.$filename, $img_string);
4

1 に答える 1

0

私はこれを機能させることができましたが、2番目のサイズ変更は迅速ですが、S3への送信は非常に遅く、非常に小さな画像をアップロードするには約30秒かかります.

一度に複数のオブジェクトを S3 に入れるのに問題があった人はいますか?

于 2013-02-14T12:00:28.433 に答える