我遇到了php glob
函数的一个特性,想知道到底发生了什么
<?php
$paths = glob('../test/*');
echo 'count = ' . count($paths) .'<br/>';
echo 'paths[0] = ' . $paths[0] .'<br/>';
echo 'scandir count = ' . count (scandir ('../test') );
?>
测试目录是空的,我得到的结果是
count = 1
paths[0] =
scandir count = 2
scandir
计数为2(.
和..
也被计数)
但我希望$paths
的计数是0,而不是1。
如果是1,为什么$paths[0]
没有值?
发生的情况是"glob"返回false。这将给出您所看到的输出。
count = 1
paths[0] =
阅读一份报告(http://drupal.org/node/1157100)建议如果不能读取../
父目录,即使可以读取../test
,glob()
也可能失败。我认为scandir()
没有这个限制,所以它成功了。
这种情况下的解决方案:授予自己访问../的权限目录。