|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2011-03-14 14:39 UTC] scottmac@php.net
-Status: Open
+Status: Bogus
[2011-03-14 14:39 UTC] scottmac@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Dec 11 15:00:01 2025 UTC |
Description: ------------ Storing all DirectoryIterator objects fetched previously with an instance of DirectoryIterator within an array seems to make stored objects to lose all data. While methods like 'isDir()' work fine in first loop, they will always fail within second loop. --- C:\Program Files (x86)\PHP>php.exe -v PHP 5.2.17 (cli) (built: Jan 6 2011 17:37:45) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies --- Verzeichnis von C:\inetpub\wwwroot\di 14.03.2011 13:33 <DIR> . 14.03.2011 13:33 <DIR> .. 14.03.2011 13:41 427 di.php 14.03.2011 13:33 <DIR> directory 14.03.2011 13:33 0 randomFile1.txt 14.03.2011 13:33 7.334 randomFile2.odt 14.03.2011 13:33 0 randomFile3.bmp 4 Datei(en), 7.761 Bytes 3 Verzeichnis(se), 23.774.224.384 Bytes frei Test script: --------------- <?php $array = array(); $dir = 'C:/inetpub/wwwroot/di/'; $it = new DirectoryIterator($dir); foreach ($it as $obj) { if ($obj->isDot()) continue; var_dump($obj); if ($obj->isDir()) echo $obj->getFilename() . ' is a directory.<br />'; else echo $obj->getFilename() . ' is a file<br />'; $array[] = $obj; } echo '<hr />'; foreach ($array as $obj) { var_dump($obj); if ($obj->isDir()) echo $obj->getFilename() . ' is a directory.<br />'; else echo $obj->getFilename() . ' is a file<br />'; } ?> Actual result: -------------- object(DirectoryIterator)#1 (0) { } di.php is a file object(DirectoryIterator)#1 (0) { } directory is a directory. object(DirectoryIterator)#1 (0) { } randomFile1.txt is a file object(DirectoryIterator)#1 (0) { } randomFile2.odt is a file object(DirectoryIterator)#1 (0) { } randomFile3.bmp is a file (<hr />) object(DirectoryIterator)#1 (0) { } is a directory. object(DirectoryIterator)#1 (0) { } is a directory. object(DirectoryIterator)#1 (0) { } is a directory. object(DirectoryIterator)#1 (0) { } is a directory. object(DirectoryIterator)#1 (0) { } is a directory.