Эффективная проверка PHP формата отправленного изображения - PullRequest
0 голосов
/ 18 декабря 2011

Что является более эффективным способом проверки типа файла изображения?

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")) {

Это то, что я сейчас делаю, но это кажется таким грязным способом проверить. Массивы? Я немного потерян.

Ответы [ 2 ]

1 голос
/ 18 декабря 2011

Ваш, вероятно, так же эффективен, как и мой, но когда дело доходит до подобных вещей в PHP, это не будет иметь никакого значения вообще - просто напишите, что легче читать и понимать.

if (!in_array($_FILES["file_image"]["type"],
    array('image/jpg','image/jpeg','image/gif','image/png')) { ...
0 голосов
/ 18 декабря 2011
<?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, это не совпадение. Используйте регулярное выражение / ^ image / (jpe? G | gif | png) $ /.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...