php glob versus scandir


php glob versus scandir

我遇到了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)建议如果不能读取../父目录,即使可以读取../testglob()也可能失败。我认为scandir()没有这个限制,所以它成功了。

这种情况下的解决方案:授予自己访问../的权限目录。