Показать полную графическую версию : регулярное выражение на пхп.
Люди в регулярных выражениях я 0.Читать справчник нет времени, надо срочно.
Помогите составить выражение на проверку имени загружаемого графического файла.
Имя файла должно быть только на английском и таких форматов: jpg, jpeg, gif, bmp, png.
Думаю тут ничего сложного.
strejiok
21-07-2006, 11:09
'/(.*\.jpg|.*\.jpeg|.*\.bmp|.*\.gif|.*\.png)/i'
да?
vadimiron
21-07-2006, 11:45
или
"/(.*)\.(jpg|jpeg|bmp|gif|png)/"
что в общемто равнозначно
мне же больше нравится вариант сделать массив из всех разрешённых расширений, отрезать расширение с помощью strrpos and substr, и потом проверить в массиве ли с помощью in_array
vadimiron,strejiok имя файла только на английском, а в указанных вами вариантах русский и любой другой язык позволяется
тогда [a-zA-Z]
или если еще цифры можно, то [a-zA-Z0-9]
mar]
тогда [a-zA-Z]
или если еще цифры можно, то [a-zA-Z0-9]
Я хотел написать тоже самое, но это не сработает при имени файла "rрекаus.jpg.", то есть при наличии и русских и английских букв. С помощью этого выражения можно только посимвольно проверять.
Я хотел написать тоже самое, но это не сработает при имени файла "rрекаus.jpg.", то есть при наличии и русских и английских букв
т.е. при этом пропустился вариант со смесью букв?
т.е. при этом пропустился вариант со смесью букв?
Да, этим проверяется только наличие английских букв, а не факт отсутствия русских или каких-либо других
Vlad Drakula
21-07-2006, 14:55
mrcnn, oleksiy, mar
"/^([a-zA-Z0-9]*)\.(jpg|jpeg|bmp|gif|png)$/"
strejiok
21-07-2006, 14:59
:) ну да ну да.
if(!eregi("/^([a-zA-Z0-9_]*)\.(jpg|jpeg|bmp|gif|png)$/", $up_photo_name)){
echo 'Такие файлы не загружаю!';
exit;
}
что-то тут не так, совсем ни чего не загружает...
а без "!" загружает всё подряд.
Vlad Drakula
21-07-2006, 23:43
oleksiy
нету функцию используете... нужно использовать "preg_match"....
ах да... тьфу, извиняюсь... спасибо.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC