$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 { }就报错?怎么改才正确?
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文件并查看程序执行的结果。从这两个结果可以看出,统计字符串长度已经成功实现。
preg_match() 函数用于进行正则表达式匹配,成功返回 1 ,否则返回 0 。
preg_match() 匹配成功一次后就会停止匹配,如果要实现全部结果的匹配,则需使用preg_match_all() 函数。
例子:
<?php