當我在使用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 [名]或DIR - [名]那麼它不工作。
// 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>';
因爲_Windows_中的'DIRECTORY_SEPARATOR'也是\。 'foo/bar/baz \ [\]/qux.txt'的例子。其他操作系統將它視爲'foo','bar','baz []','qux.txt',但_Windows_會將其視爲'foo','bar','baz','''''' ','qux.txt' –