高效的PHP检查提交的图像格式
检查图像文件类型的更有效方法是什么高效的PHP检查提交的图像格式,php,arrays,image,format,Php,Arrays,Image,Format,检查图像文件类型的更有效方法是什么 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"))
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")) {
这就是我目前正在做的,但这似乎是一种混乱的检查方式。阵列?我有点迷路了。你的可能和我的一样高效,但在PHP中,这样的东西不会有任何区别,只要写一些更容易阅读和理解的东西就行了
if (!in_array($_FILES["file_image"]["type"],
array('image/jpg','image/jpeg','image/gif','image/png')) { ...
查找preg_match。如果preg_match返回0,则它不是匹配项。
使用regex/^image/(jpe?g | gif | png)$/。为什么投票否决了这一点?很多人以前都用正则表达式来解决这个问题。我没有投反对票,但使用正则表达式肯定不会比他现在的代码更高效,更易读。
<?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/>";
}
?>