画像掲示板のデバッグ

画像掲示板のデバッグ
#14 デバッグをする
http://dotinstall.com/lessons/upload_image_php/4514
を参考に、サムネイル画像が保存できるようにデバッグ
まず、細かいエラーを表示するように、
config.php の
error_reporting(E_ALL & ~E_NOTICE);
をコメントアウト
index.php に戻ってしまうと、細かいエラーがでなくなるので
header()の処理の前に
exit;
を記述して、一度終了する
原因は、エラーコードをみながら修正していく
今回の動画の場合だと
imagecopyresampled() の
第1引数が、書き込むイメージのリソースでなかったこと
そして
書き込むディレクトリが
THUMBNAIL
ではなく
THUMBNAIL_DIR
だったことが原因だっと判明
エラーが特定できたら、
config.php のエラー表示を元に戻したいので
error_reporting(E_ALL & ~E_NOTICE);
のコメントアウトを外す
このように、一度詳細なエラーを表示して
どこかにとぶような処理の場合、その前に
一度 exit で終了して原因を追及するようにして
デバッグしていく
今回、うまく動作しなかったので、後で比較して理解するため
cp upload.php upload.php_error
として
保存し
http://dotinstall.com/lessons/upload_image_php/4513
のソースをコピペして
実行
そのときにいくつかエラーがでたので
そのメモ
Warning: imagecopyresampled() expects parameter 1 to be resource, double given in
これは
imagecopyresampled() の第1引数がリソースでないのが原因
$thumbHeight から
thumbImage にする
Notice: Use of undefined constant THUMBNAIL – assumed ‘THUMBNAI

Warning: imagepng(): Unable to open ‘THUMBNAIL/5190816f6d00cce6c8bb909ef954cc1840c50a0c.png’ for writing: No such file or directory
これは
‘THUMBNAI が見つからないとでているので
config.php で指定している
‘THUMBNAI_DIR にする
また、
Warning: imagepng(): の原因は
config.php の
define(‘THUMBNAIL_DIR’, dirname($_SERVER[‘SCRIPT_FILENAME’]).’/thumbnails’);
のスペルミスが原因だった
これらを修正すれば
サムネイル画像が保存されるようになる
CentOS へログインして
cd /var/www/html/upload_image_php
ll image/
で画像がアップロードされているのを確認し
ll thumbnails/
でサムネイル画像があるのを確認できれば
デバック完了

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です