• 締切済み

画像アップロードの拡張子制限

いつもお世話になっています。 現在画像アップローダーを作っているのですがサイズ制限を100KBまで、拡張子は「gif.jpeg.jpg.png」のみに限定したいのですが可能でしょうか? 拡張子を意図的に偽装してくる場合でもエラーを表示させるようにしたいと思っています。 【現在のソース】 <?php //保存名 $pict_id = aaaa; //画像のコピー copy($_FILES["userfile"]["tmp_name"],"./photo/$pict_id.jpg"); //画像のリサイズ $img = "http://www.xxxxx.jp/photo/$pict_id.jpg"; // 読み込む画像のアドレス $outfile = "./photo/$pict_id.jpg"; $size = 145 ; // リサイズするサイズ (大きい方の幅をこれに合わせる) if (!($irc = @imagecreatefromjpeg($img))) // jpeg として読み込んでみる if (!($irc = @imagecreatefrompng($img))) // png として読み込んでみる $irc = @imagecreatefromgif($img) ; // gif として読み込んでみる if (!$irc) { // 画像が正しく読み込めなかったときの処理 // エラー画面へ $headerLink = "./error.html"; header("Location: ".$headerLink); } if (imagesx($irc) > imagesy($irc)) { $rrc = imagecreatetruecolor($size, $size * imagesy($irc) / imagesx($irc)) ; } else { $rrc = imagecreatetruecolor($size * imagesx($irc) / imagesy($irc), $size) ; } imagecopyresampled($rrc, $irc, 0, 0, 0, 0, imagesx($rrc), imagesy($rrc), imagesx($irc), imagesy($irc)) ; //保存 imagejpeg( $rrc , $outfile ); //出力 header("Content-type: image/jpeg"); // ロケーション $headerLink = "./ok.html"; header("Location: ".$headerLink); ?>

みんなの回答

回答No.1

getimagesize($filepath) で、画像情報を配列で返してくれます。 詳細はご自分で調べてください

関連するQ&A

専門家に質問してみよう