php中的preg_match()函数

$filename=$file['name'];if(!preg_match('/\\.(gif|jpeg|png|bmp|doc|)$/i',$filename)){e... $filename=$file['name'];if (!preg_match('/\\.(gif|jpeg|png|bmp|doc|)$/i', $filename)) { echo "文件类型不合法!"; } else { }解释一下preg_match('/\\.(gif|jpeg|png|bmp|doc|)$/i', $filename是什么意思?另外,preg_match()和preg_match all()函数的区别。另外为何我把语句改成:$allowtype="gif|jpeg|png|bmp|doc|";$filename=$file['name'];if (!preg_match('/\\.($allowtype)$/i', $filename)) { echo "文件类型不合法,只能上传".$allowtype."文件"; } else { }就报错?怎么改才正确? 展开
 我来答
大宝妈谈教育
高粉答主

2020-05-02 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:53.8万
展开全部

preg_match()函数用于正则表达式知识匹配,如果成功则返回1,否则返回0。

Preg_match()在成功匹配之后停止匹配,如果要实现所有结果的内部匹配,则使用preg_match_all()函数。

php函数取得字符串长度:

1.首先,创建一个新的PHP文件并将其命名为test.php。

2.在test.php文件中,定义两个字符串,一个是纯英文字符串,另一个是中英文混合字符串。

3.使用strlen()方法来计算长度,从程序执行结果来看,strlen()方法计算的字符串长度$Str1是正确的,第二个字符串$Str2是错误的。

4.创建一个新的utf8_strlen()函数,并将其参数定义为$string,默认为null。

5.在utf8_strlen()函数中,使用preg_match_all()方法通过正则表达式分割字符串,并将其保存在$match变量中。最后,计算从count()方法获得的数组元素的数量,并返回结果。

6.使用utf8_strlen()分别计算$Str1和$Str2字符串的长度,并使用echo将结果输出到页面。

7.在浏览器中运行test.php文件并查看程序执行的结果。从这两个结果可以看出,统计字符串长度已经成功实现。

__峰回路转
推荐于2016-08-23 · TA获得超过714个赞
知道小有建树答主
回答量:605
采纳率:89%
帮助的人:318万
展开全部

preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 。

preg_match() 匹配成功一次后就会停止匹配,如果要实现全部结果的匹配,则需使用preg_match_all() 函数。

例子:

<?php 
// 模式定界符后面的 "i" 表示不区分大小写字母的搜索 
if (preg_match ("/hi/i", "Welcome to hi-docs.com.")) { 
  echo "A match was found."; 
 } else { 
  echo "A match was not found."; 
 } 
 ?> 
 // 输出 A match was found.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友85409ee
推荐于2018-02-23 · TA获得超过131个赞
知道答主
回答量:78
采纳率:0%
帮助的人:41.7万
展开全部
1 preg_match('/\\.(gif|jpeg|png|bmp|doc|)$/i', $filename)这句话的意思是检查文件名称是不是以点.gif/.jpeg...结束的

2 preg_match只要匹配到一个符合条件的就结束查找,而preg_match_all要将字符串从头检查到尾,不论是否找到匹配字符。

3 if (!preg_match('/\\.($allowtype)$/i', $filename)) 这句话有错,'引号中的$allowtype是不能引用变量值的,只当作字符串,因此应该这样:if (!preg_match('/\\.('.$allowtype.')$/i', $filename))
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a348876412
2012-02-25 · TA获得超过136个赞
知道小有建树答主
回答量:292
采纳率:0%
帮助的人:235万
展开全部
$filename--需要匹配的内容
preg_match()和preg_match all()函数的区别:一个匹配到内容就结束,一个匹配全部符合条件的;
怎么改?把if (!preg_match('/\\.(gif|jpeg|png|bmp|doc|)$/i', $filename)) 里面的!去掉呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式