我编写了一个使用来自标准 PHP 库 (SPL) 的 FilterIterator 类的脚本,并且我在 PHP 5.x 版本中得到了不同的行为:( 这里是 accept() 函数:
public function accept()
{
$current = $this->current();
print_r($current);
return true;
}
并继承其 PHP 5.3.1 的输出:
DirectoryIterator Object
(
[pathName:SplFileInfo:private] => /Users/alex/Sites/dev/php/fscms/content/.
[fileName:SplFileInfo:private] => .
[glob:DirectoryIterator:private] =>
[subPathName:RecursiveDirectoryIterator:private] =>
)
DirectoryIterator Object
(
[pathName:SplFileInfo:private] => /Users/alex/Sites/dev/php/fscms/content/..
[fileName:SplFileInfo:private] => ..
[glob:DirectoryIterator:private] =>
[subPathName:RecursiveDirectoryIterator:private] =>
)
DirectoryIterator Object
(
[pathName:SplFileInfo:private] => /Users/alex/Sites/dev/php/fscms/content/.DS_Store
[fileName:SplFileInfo:private] => .DS_Store
[glob:DirectoryIterator:private] =>
[subPathName:RecursiveDirectoryIterator:private] =>
)
这是我在 PHP 5.2.5 下使用相同代码得到的结果
DirectoryIterator Object
(
)
DirectoryIterator Object
(
)
DirectoryIterator Object
(
)
后者对所有文件拥有 755 权限。怎么回事?