PHP preg_match请帮忙。很简单
怎样添加到项目中允许(gif$|jpg$|png$|jpeg$)
PHP preg_match请帮忙。很简单
到下面的代码
$regexp = "/[0-9a-zA-z\.]/";
if (preg_match($regexp, $imageInput))
还如何添加在排除列表如因此阻止人们unploading .exe文件等
列表感谢
编辑
我用下面的代码修复了它
有关如何使它更好的建议?
$regexp = "/^[a-zA-z0-9._-]+(gif|jpg|png|jpeg)/";
使用肯定列表:
/^[0-9a-zA-z\.]+\.(gif|jpg|png|jpeg)$/
或负前瞻:
/^[0-9a-zA-z\.]+\.(?!exe$)[a-z]+$/
肯定列表是安全的,但更严格的选项。
这不会允许'foo.execute'。 – Gumbo 2010-02-25 16:16:35
@Gumbo:谢谢,这可以通过使用(?!exe $)来解决。 – 2010-02-25 16:19:14
将您的正则表达式更改为/([0-9a-zA-z\.])(gif|jpg|png|jpeg)$/
这只会允许您指定的扩展名。
尝试:[0-9A-ZA-Z \]
$regexp = "/^[0-9a-zA-z\.]+\.(jpg|gif|png)$/";
的停止模式使用'/.(exe|cmd|bat|sh)$/'
然后if(!preg_match($pattern, $text))
感谢您的帮助,我实际上在几分钟后自己修复了它,谢谢:) – 2010-02-25 16:17:08
我希望你知道''的描述只是*一个*字符。 – Gumbo 2010-02-25 16:11:20
希望你的意思是?你能否解释一下。我不是正则表达式 – 2010-02-25 16:12:16
以匹配多个字符使用'[0-9a-zA-Z \。] +'(一个或多个)或'[0-9a-zA-Z \。] *'(零个或多个) – knittl 2010-02-25 16:15:55