如何检查输入是否包含数组之一?

时间:2014-10-20 15:40:23

标签: php arrays if-statement input

我有这样的输入:

<input name='postImg' type='text'><?php if(isset($error)){ echo $_POST['postImg'];}?></input>

我希望PHP检查输入文本是否包含: .png或.jpeg或.gif等 确保它的形象。但它必须是输入名称(所以没有上传)。

我怎样才能做到最好?

2 个答案:

答案 0 :(得分:2)

您可以使用正则表达式。这将检查扩展是否正确;匹配(.png,.jpeg,.jpg,.gif)字符串的结尾

if( preg_match("/\.(png|jpeg|jpg|gif)$/", $_POST['postImg']) ) {
   //Yep.
}

示例:https://eval.in/208018

修改

if( strlen($postImg) > 0 AND preg_match("/\.(png|jpeg|jpg|gif)$/", $postImg) == FALSE) {
   $error[] = 'Wrong image format.';
}

答案 1 :(得分:0)

尝试:

if(strpos($_POST['postImg'], '.png') || strpos($_POST['postImg'], '.jpeg') || strpos($_POST['postImg'], '.gif')) {
    echo 'It exists';
}