У меня есть такой вклад:
<input name='postImg' type='text'><?php if(isset($error)){ echo $_POST['postImg'];}?></input>
Я хотел бы, чтобы PHP проверил, содержит ли входной текст:
.png или .jpeg или .gif и т. д.
Чтобы убедиться, что это изображение. Но это должно быть имя ввода (поэтому не загружать).
Как я могу сделать это лучше всего?
Вы можете использовать регулярное выражение. Это проверит правильность расширения; сопоставление (.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.';
}
Пытаться:
if(strpos($_POST['postImg'], '.png') || strpos($_POST['postImg'], '.jpeg') || strpos($_POST['postImg'], '.gif')) {
echo 'It exists';
}