河南平台网站建设公司wordpress登录加验证码
河南平台网站建设公司,wordpress登录加验证码,做网站记者的出路是什么,做线上网站的目的不久前遇到一段代码使用了basename#xff0c;我文件名是中文的#xff0c;每次返回都只有后缀。后来发现basename函数有猫腻#xff0c;不支持中文文件名#xff0c;但凡有以中文开头的文件名将被忽略了。函数说明/*** 从路径中返回文件名* param string $path* 在Windows…不久前遇到一段代码使用了basename我文件名是中文的每次返回都只有后缀。后来发现basename函数有猫腻不支持中文文件名但凡有以中文开头的文件名将被忽略了。函数说明/*** 从路径中返回文件名* param string $path* 在Windows中无论是斜线(/)和反斜杠(\)作为目录分隔符。在其他环境中它是前斜杠(/)* param string $suffix [optional] 可选。规定文件扩展名。过滤后缀结尾* return string 文件名* since 4.0* since 5.0*/function basename($path, $suffix null){}演示例子$path 我是中文名.jpg;$res basename($path);var_dump($res);//string .jpg (length4)有大神前辈说了问题出在底层mblen它发现全是中文的时候会返回负数。不以中文开头,可以骗过mblen。不以中文件名开头试下$path a我是中文名.jpg;$res basename($path);var_dump($res);//string a我是中文名.jpg (length20)厉害了我的哥。然而我的系统并不能保证全部文件名都是英文开头的。那怎么办呢查了很多资料用了很多办法都没有用。最后还是寻找代替方案。找到了以下几个方案方案1$path /路径/我是中文名.jpg;$res substr($path, strrpos($path, /)1);var_dump($res);方案2$path /路径/我是中文名.jpg;$res preg_replace(/^(.[\\/])|(\\/)/, , $path);var_dump($res);方案3$path /路径/我是中文名.jpg;$res explode(/,$path);$res end($res);var_dump($res);方案4$path /路径/我是中文名.jpg;$res explode(/,$path);$res array_pop($res);var_dump($res);方案5$path /路径/我是中文名.jpg;$res ltrim(substr($path, strrpos($path, /)),/);var_dump($res);路过的朋友如有更好的办法请不吝赐教原创文章转载请注明出处https://www.weizhixi.com/article/30.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89546.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!