之前在处理文件上传的一个问题中,使用basename过滤的情况
// Remove path information and dots around the filename, to prevent uploading into different directories or replacing hidden system files.
// 大概意思是:删除靠近文件名句点符号的路径信息,防止上传到非指定目录或者替代系统隐藏文件
$name = "目录/测试.doc"
$name = basename($name);
我想获得的结果是 测试.doc , 实际上是 .doc
然后我查了一下相关资料,我只想说真是坑死我了,
basename不支持中文
。。。
但是我们还是要这个函数功能,可以使用正则表达式代替
function get_basename($filename){
return preg_replace('/^.+[\\\\\\/]/', '', $filename);
}
转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/2575.html
微信打赏
支付宝打赏
感谢您对作者surfin的打赏,我们会更加努力! 如果您想成为作者,请点我