【问题标题】:Get PHP to read directories with quotes in their names?让 PHP 读取名称中带有引号的目录?
【发布时间】:2009-01-27 19:50:05
【问题描述】:

我正在使用 PHP 5 的 scandir($dir) 函数来遍历一个目录并打印出一个 xml 文件列表。仅当目录名称中有单引号时,scandir 不返回任何项目!它不会返回 false (就像它失败时一样)或生成警告或错误 - 只是空的。有什么想法吗?

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

【问题讨论】:

  • 当我在 linux 上有一个名称中带有单引号的子目录时,您的代码对我来说运行良好(尽管最后一行缺少它的 ;)...您在 windows 上尝试这个吗?跨度>

标签: php directory


【解决方案1】:

我已经在 Windows 上对其进行了测试,它运行良好。 试试echo $dir; 以确保它符合您的期望。

另外,使用ini_set() 确保您的错误级别足够高:

ini_set('error_reporting', E_ALL);

【讨论】:

  • 实际上,我推荐echo stripslashes($dir); — 确保 scandir 符合您的预期。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    相关资源
    最近更新 更多