[PHP-users 35529] Re: phpでjpeg画像の取り込みについて
鈴木直人@SBS情報システム
n_suzuki @ sbs-infosys.co.jp
2011年 3月 12日 (土) 11:57:26 JST
自己レスです。
どうやら、うまくエラーが表示されていなかったみたいです。
シンプルなプログラムにしてみたら、メモリーエラーが出ました。
php.iniのmemory_limitを16Mから128Mへ、変更したら問題なくできました。
>
> はじめまして
> 鈴木と申します。
>
> phpでjpeg画像の取り込みについて教えてください。
> すでに投稿されていたらすみません。
>
> やりたいことは、画像をサーバにbase64でテキストにしてデータ格納することです。
>
> 現在のロジック上では300KBぐらいの画像は問題ありません。
> 500KBにちかくなると、「ページを表示できません」と表示されてしまいます。
> phpのエラーログには何も残りません。
>
> 以下プログラムを記載します。
> まず、fileタイプのinputタグで画像を取得します。
> print("画像1 <input name='imgpath_a' type='file' size='60'
> onChange='imgc_a(this)'><br><br>");
>
> ポストした後のプログラムで
> この画像を元に以下のファンクションでリサイズしています。
>
> //postされたイメージを作成するfunction
> function image_create($type,$img_path){
> switch ($type){
> case "image/jpeg":
> $img_in=@ImageCreateFromJPEG($img_path);
> break;
> }
> return $img_in;
> }
>
> function image_to_text($gazou_length,$type,$imgpath,$imgtmp){ //幅,画像タイプ,画像のパス,画像tmp
> $imgin=image_create($type,$imgpath); //イメージ作成
> //---[リサイズ start]---
> $imgsize=getImageSize($imgpath);
> $length=$gazou_length; //最大幅
> if($imgsize[0]>$length || $imgsize[1]>$length){
> if($imgsize[0] >= $imgsize[1]){ //横が縦より大きい
> $width = $length; //幅
> $high = $imgsize[1] * $length /
> $imgsize[0];
> }else{
> $width = $imgsize[0] * $length /
> $imgsize[1];
> $high = $length;
> }
> $imgout=ImageCreateTruecolor($width,$high);
>
> ImageCopyResampled($imgout,$imgin,0,0,0,0,$width,$high,$imgsize[0],$imgsize[1]);
> resize_image_create($type,$imgout,$imgtmp);
>
> ImageDestroy($imgin);
> ImageDestroy($imgout);
> }
> //---[リサイズ end]---
> //---[テキスト化 start]---
> $imgtxt=file_get_contents($imgtmp);
> $imgtxt=base64_encode($imgtxt);
> //---[テキスト化 end]---
> return $imgtxt ;
> }
>
> 調べた結果、 $img_in=@ImageCreateFromJPEG($img_path); で、ページを表示できませんになっているようです。
> メモリの関係と思ったのですが、php.iniの設定は、
> post_max_size = 8M
> (100Mまでテスト済み)
> upload_max_filesize = 2M
> となっています。
>
> 何か考えられことはあるでしょうか。
> どなたか、ご教授願いします。
>
>
>
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
PHP-users メーリングリストの案内