0

ユーザーが自分の写真をアップロードできるフォトアルバムに取り組んでいます。ユーザーが任意のサイズの写真をウェブサイトに送信できるようにしたいのですが、5Mb を超える場合は、php アップロード クラスで 5Mb に処理されます。

ファイルのアップロードは、30Mb の php.ini ファイルの構成よりも小さい画像サイズで機能します。元の画像は、処理のために一時フォルダーにアップロードされます。

画像を処理してサムとメインの画像を作成するのは簡単ですが、大きなファイル (ユーザーがダウンロードできるように 5Mb に処理) を生成したい場合は機能しません。

写真の処理に使用しているコードは次のとおりです。

$handle = new upload("../".$path_picture_temp.$this->imgName);

    if ($handle->uploaded) {
      $handle->image_convert         = 'jpg';
      $handle->jpeg_size             = 5242880;
      $handle->process("../".$path_picture_full);
    }
    if ($handle->uploaded) {
      $handle->image_resize         = true;
      $handle->image_x              = 231;
      $handle->image_y              = 153;
      $handle->image_ratio_crop     = true;
      $handle->image_convert        = 'jpg';
      $handle->jpeg_quality         = 95;
      $handle->process("../".$path_picture_thumb);
    }
    if ($handle->uploaded) {
      $handle->image_resize         = true;
      $handle->image_x              = 1000;
      $handle->image_y              = 1000;
      $handle->image_ratio          = true;
      $handle->image_convert        = 'jpg';
      $handle->jpeg_quality         = 95;
      $handle->process("../".$path_picture_main);
    }

6Mb 未満の画像をアップロードすると遅くても動作しますが、6Mb を超える画像をアップロードすると動作せず、何も処理しません。

大きな画像の処理の最初の部分に乗ると、すべてのファイルサイズで問題なく動作します。なぜこれが起こっているのか誰にも分かりますか?

4

1 に答える 1

0

GDおよびimagcreatefromjpeg()関数を使用している場合、これで問題が解決する可能性があります 。PHPGD imagecreatefromjpegは大きなサイズの画像を処理できませんか?

于 2012-05-24T19:57:25.993 に答える