让PHP读取名称中带有引号的目录?

让PHP读取名称中带有引号的目录?,php,directory,Php,Directory,我正在使用PHP5的scandir($dir)函数迭代一个目录并打印出一个xml文件列表。仅当目录名称中只有一个引号时,scandir不会返回任何项目!它不会返回false(如果失败的话会返回false),也不会生成警告或错误,只是为空。有什么想法吗 $items = scandir(stripslashes($dir)); //strip slashes in case magic_quotes are on if($items === false) die("scandir returned

我正在使用PHP5的scandir($dir)函数迭代一个目录并打印出一个xml文件列表。仅当目录名称中只有一个引号时,scandir不会返回任何项目!它不会返回false(如果失败的话会返回false),也不会生成警告或错误,只是为空。有什么想法吗

$items = scandir(stripslashes($dir)); //strip slashes in case magic_quotes are on
if($items === false) die("scandir returned failure");
print_r($items)

我在windows上测试过,效果很好。 尝试
echo$dir以确保它符合您的期望

此外,请使用以确保您的错误级别足够高:

ini_set('error_reporting', E_ALL);

您是否检查过执行脚本的用户是否具有目标目录的读取权限?

当我在linux上有一个子目录,其名称中只有一个引号时,您的代码对我来说运行良好(尽管最后一行缺少;)。您是否在windows上尝试此操作?实际上,我建议使用
echo stripslashes($dir)-确保scandir看到了您的期望。