質問

私は、画像のサイズを変更し、「サイズを変更する」フォルダ内の画像を入れて、画像をアップロードする別のフォルダに画像を移動するコードを使用しています、そして、しかし、私は」、「サイズを変更」フォルダから画像を削除しますメートル以下のエラーを取得します:

"の致命的なエラー:のライン649上/home/photogra/public_html/administrator/components/com_gallery/admin.gallery.phpに(14172のバイトを割り当てることを試みた)33554432バイトのメモリサイズが排気可「

の画像であっても、大きなではありません! (例えば265キロバイト)

ここで(行番号付き)私が使用しているコードです。

635         move_uploaded_file($_FILES['image']['tmp_name'],$mainframe->getCfg( 'absolute_path' ) ."/virtualgallery/images/resize/$newname");
636         
637         /* resize images - width 600px */   
638         $docRoot = $GLOBALS['mosConfig_absolute_path'];
639         $pathToImages = $docRoot.'/virtualgallery/images/resize/';
640         $pathToThumbs = $docRoot.'/virtualgallery/images/';
641         $thumbHeight = 600;
642         
643         $dir = opendir( $pathToImages );
644         while (false !== ($fname = readdir( $dir ))) {
645             $info = pathinfo($pathToImages . $fname);
646             if ( strtolower($info['extension']) == 'jpg' ) {
647                 $img = imagecreatefromjpeg( "{$pathToImages}{$fname}" );
648                 $width = imagesx( $img );
649                 $height = imagesy( $img );
650                 $new_width = floor( $width * ( $thumbHeight / $height ) );
651                 $new_height = $thumbHeight;
652                 $tmp_img = imagecreatetruecolor( $new_width, $new_height );
653                 imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
654                 imagejpeg( $tmp_img, "{$pathToThumbs}{$fname}" );
655             };
656         };
657         closedir( $dir );
658         
659         /* delete file(s) from resize folder */
660         $dir = $docRoot.'/virtualgallery/images/resize/';
661         foreach(glob($dir.'*.*') as $v) {
662             unlink($v);
663         };
誰が助けることができる場合は、

私はエラーを取得する場合にも、画像は「サイズを変更する」フォルダ内に立ち往生している...、それは素晴らしいことです! :)

役に立ちましたか?

解決

あなたは各1の後にメモリを解放せずに、ディレクトリ内のすべての画像のサイズを変更しようとしています。追加してみてください。

imagedestroy($img);
imagedestroy($tmp_img);

手始めに。また、できるだけ早くあなたがそれを行わなく、ディレクトリ上に第2の時間を反復しているとして、画像のリンクを解除します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top