我遇到了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]没有值呢?
发布于 2012-08-26 19:47:40
发生的情况是"glob“返回了false。这给出了您所看到的输出。
count = 1
paths[0] = 读取一个报告(http://drupal.org/node/1157100)表明,如果您不能读取../父目录,即使您可以读取../test,glob()也会失败。我假设scandir()没有这个限制,所以它成功了。
这种情况下的解决方案:也为自己授予对../目录的权限。
https://stackoverflow.com/questions/12128708
复制相似问题