2011年3月11日

[PHP-users 35527]phpでjpeg画像の取り込みについて


はじめまして
鈴木と申します。

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@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2011年3月11日 22:35
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/102558
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。