2011-12-18 11 views
0

画像のファイルタイプをより効率的にチェックする方法は何ですか?効率的なPHPチェック送信された画像フォーマット

if (($_FILES["file_image"]["type"] != "image/jpg") && 
    ($_FILES["file_image"]["type"] != "image/jpeg") && 
    ($_FILES["file_image"]["type"] != "image/gif") && 
    ($_FILES["file_image"]["type"] != "image/png")) { 

これは私が現在行っていることですが、これはチェックするのが面倒なようです。配列?私は一種の迷子だ。

答えて

1

あなたのものはおそらく私のものと同じくらい効率的ですが、PHPのようなものについては何の違いもありません。読みやすく理解しやすいものを書いてください。

if (!in_array($_FILES["file_image"]["type"], 
    array('image/jpg','image/jpeg','image/gif','image/png')) { ... 
+0

@Downvoter、自分で説明してください。 – kba

0
<?php 
$x = array("image/jpeg", "image/jpg", "image/png" , "image/gif", "image/bmp"); 
foreach ($x as $a) 
{ 
    echo "$a ".preg_match("/^image\/(jpe?g|gif|png)$/", $a)."<br/>"; 
} 
?> 

するpreg_matchを見上げます。 preg_matchが0を返した場合、それは一致しません。 regex/^ image /(jpe?g | gif | png)$ /を使用してください。

+0

なぜこれが投票されたのですか?以前はこの問題を解決するために多くの人が正規表現を使用してきました。 –

+1

私はdownvoteをしませんでしたが、正規表現を使用することは、現在のコードよりも効率的でも読み込みが難しくありません。 – kba

関連する問題