ファイルアップロード時のMIMEタイプ指定方法についてお伺いしたいです。
ファイル形式を「JPEG」、「PNG」のみアップロード可能にし、それ以外の場合はエラーメッセージを表示するコードを作成したいです。
自分で調べました所、finfo_open関数、finfo_file関数を使うということが分かったのですが、これらの関数がいまいちよく分かりません。
自分で作成してみたコードがあるので、どこか間違っていたり、良くなかった点がありましたらご指摘頂ければと思います。
html
1<form method="post" enctype="multipart/form-data"> 2 <div><input type="file"name="new_img"></div> 3 <div><input type="submit" value="送信"></div> 4</form>
php
1 if ($_SERVER['REQUEST_METHOD'] === 'POST') { 2 $new_img = $_FILES['new_img']; 3 $finfo = finfo_open(FILEINFO_MIME_TYPE); 4 $mime_type = finfo_file($finfo, $img_file); 5 finfo_close($finfo); 6 if(strpos($mime_type,'jpeg')||strpos($mime_type,'jpeg')||strpos($mime_type,'png') === FALSE) 7 //jpegもしくはpngファイルではない場合は変数を破棄する。 8 unset($new_img); 9 $error_msg[] = 'ファイル形式が異なります。画像ファイルはJPEG又はPNGのみ利用可能です。'; 10 } 11
それとなんですが、仮に「jpeg]もしくは「png」ファイルだった場合にこれを表示させる場合なのですが、htmlファイルに、
「echo $new_img 」 とするだけでよろしいのでしょうか?
回答1件
あなたの回答
tips
プレビュー