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>';

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...