GDを利用してアップロード画像のサムネイルを生成したいのですが、
うまくいきません。サムネイル画像が生成されないので実行すると
「Warning: imagejpeg(/test/img/thumbnail.jpg): failed to open stream: No such file or directory」
「Warning: getimagesize(/test/img/thumbnail.jpg): failed to open stream: No such file or directory in」
とエラーになり、「そんなファイル無いよ」となってしまいます。
記述内容は以下の通りです。
■画像アップロード画面------------------------------------
<html> <head> <title>ファイルアップロードのテスト</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> </head> <body bgcolor="#FFFFFF" text="#000000"> <font size="4">ファイルアップロードのテスト</font> <form name="form1" action="view.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="100000"> <p>画像:</p> <input type="file" name="uploadfile"><br> <p>説明:</p> <input type="text" name="comment"><br><br> <input type="submit" value="ファイルアップロード"> </form> </body> </html> ---------------------------------------------------------------- ■画像出力画面------------------------------------ <html> <head> <title>PHPのテスト</title> </head> <body> <?php $resizeX = 150; $thumbnail_name = "thumbnail.jpg"; $file_dir = '/Applications/XAMPP/xamppfiles/htdocs/test/img/'; $file_path = $file_dir.$_FILES['uploadfile']['name']; if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file_path)) { $img_dir = '/test/img/'; $img_path = $img_dir.$_FILES['uploadfile']['name']; $thumbnail_path = $img_dir.$thumbnail_name; if (mb_strpos($_FILES['uploadfile']['type'], 'jpeg')) { $gdimg_in = imagecreatefromjpeg($file_path); $ix = imagesx($gdimg_in); $iy = imagesy($gdimg_in); $ox = $resizeX; $oy = ($ox * $iy) / $ix; $gdimg_out = imagecreatetruecolor($ox, $oy); imagecopyresized($gdimg_out, $gdimg_in, 0, 0, 0, 0, $ox, $oy, $ix, $iy); imagejpeg($gdimg_out, $thumbnail_path); imagedestroy($gdimg_in); imagedestroy($gdimg_out); $size = getimagesize($file_path); $size2 = getimagesize($thumbnail_path); ?>ファイルアップロードを完了しました。<br> <img src="<?=$img_path ?>" <?=$size[3] ?>><br> <img src="<?=$thumbnail_path?>" <?=$size2[3]?>><br> <b><?=$_POST['comment']?></b><br> <?php } else { echo 'JPEG形式の画像をアップロードしてください。<br>'; }
} else {
echo '正常にアップロード処理されませんでした。<br>';
}
?>
お手数ですが、ご教示のほど宜しくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/04 05:22
2015/05/04 05:26
2015/05/04 05:45
2015/05/04 05:51