让PHP读取名称中带有引号的目录?
我正在使用PHP5的scandir($dir)函数迭代一个目录并打印出一个xml文件列表。仅当目录名称中只有一个引号时,scandir不会返回任何项目!它不会返回false(如果失败的话会返回false),也不会生成警告或错误,只是为空。有什么想法吗让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
$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看到了您的期望。