Я написал сценарий, который использует класс FilterIterator, который поступает из стандартной библиотеки PHP (SPL), и я получаю разные поведения в версиях 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 навсе файлы. Что случилось с DAT?