Как проверить, содержит ли вход один из массивов?

У меня есть такой вклад:

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

Я хотел бы, чтобы PHP проверил, содержит ли входной текст:
.png или .jpeg или .gif и т. д.
Чтобы убедиться, что это изображение. Но это должно быть имя ввода (поэтому не загружать).

Как я могу сделать это лучше всего?

0

Решение

Вы можете использовать регулярное выражение. Это проверит правильность расширения; сопоставление (.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.';
}
2

Другие решения

Пытаться:

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

По вопросам рекламы [email protected]