微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 当带有方括号“[]”等特殊字符的目录名时,Glob不起作用

我在使用方括号的路径目录时使用glob函数时遇到问题.

// Example 1 - working
$path = 'temp'. DIRECTORY_SEParaTOR .'dir - name';
$files = glob($path . DIRECTORY_SEParaTOR . '*.txt');
// List all files 
echo '<pre>';
    print_r($files);
echo '</pre>';

上面的代码是有效的,但是当目录名称带有方括号时,如dir [name]或dir – [name],那么它无效.

// Example 2 - not working
$path = 'temp'. DIRECTORY_SEParaTOR .'dir - [name]';
$files = glob($path . DIRECTORY_SEParaTOR . '*.txt');
// result got empty if file on that directory 
echo '<pre>';
    print_r($files);
echo '</pre>';

解决方法:

谢谢你们所有人.

我得到了我的查询的确切解决方案.下面的代码我有

$path = 'temp'. DIRECTORY_SEParaTOR .'dir - [name]';
$path = str_replace('[', '\[', $path);
$path = str_replace(']', '\]', $path);
$path = str_replace('\[', '[[]', $path);
$path = str_replace('\]', '[]]', $path);
$files = glob($path . DIRECTORY_SEParaTOR . '*.txt');
// List files
echo '<pre>';
    print_r($files);
echo '</pre>';

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐