ユーザーが自分のマシンを参照して jpeg、gif、または png をアップロードできるようにするコードがあります。
私のコードは xampp localhost から正常に動作します。
LAMP をインストールした Ubuntu 12.04 サーバーがあるアマゾン ウェブ サービスにコードをアップロードしました。そこにコードが機能しません。
コードが失敗したと思われる場所を追跡しました。これでgetimagesize($old_image_path)
空のセットが返されます。
$old_image_path = /var/www/ch23_ex1/images//leaf.gif
デスクトップから写真を選択すると、このパスが表示される理由はわかりませんが、xampp では機能しました。
これらからの出力をテストするために含まれているエコーステートメントは次のとおりです。
allow_url_fopen = 1
/var/www/ch23_ex1/images//NChandler03.jpgbool(false) 画像タイプ = ファイルは JPEG、GIF、または PNG 画像でなければなりません。
失敗したと思われるコードのセクションは次のとおりです。
function resize_image($old_image_path, $new_image_path,
$max_width, $max_height) {
echo "allow_url_fopen = " . ini_get("allow_url_fopen")."<br>";
// Get image type
echo $old_image_path;
//$image_info = file_get_contents($old_image_path);
$image_info = getimagesize($old_image_path);
$image_type = $image_info[2];
var_dump($image_info);
echo 'Image type = '.$image_type;
// Set up the function names
switch($image_type) {
case 2:
$image_from_file = 'imagecreatefromjpeg';
$image_to_file = 'imagejpeg';
break;
case 1:
$image_from_file = 'imagecreatefromgif';
$image_to_file = 'imagegif';
break;
case 3:
$image_from_file = 'imagecreatefrompng';
$image_to_file = 'imagepng';
break;
default:
echo $image_type;
echo 'File must be a JPEG, GIF, or PNG image.';
exit;
}
}