ID: 44018 User updated by: jordan dot raub at dataxltd dot com Reported By: jordan dot raub at dataxltd dot com Status: Open Bug Type: SPL related Operating System: * PHP Version: 5.2.5 Assigned To: helly New Comment:
that last post was straight from cvs... cvs -d :pserver:[EMAIL PROTECTED]:/repository checkout -r PHP_5_3 php5 Previous Comments: ------------------------------------------------------------------------ [2008-02-04 18:11:04] jordan dot raub at dataxltd dot com looking through the code it looks like DIT_CTOR_FLAGS shouldn't be sent for the RecursiveDirectoryIterator. Maybe another flag should be sent (RDIT_CTOR_FLAGS = 0x00000010) and the flags sent to the parse_parameters should be default SPL_FILE_DIR_CURRENT_AS_SELF to denote that "this" should be a RecursiveDirectoryIterator? $options not passed string(21) "/virtualhosts/tmp/dir" object(SplFileInfo)#3 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(21) "/virtualhosts/tmp/dir" } string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" object(SplFileInfo)#4 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" } $options = 0 string(21) "/virtualhosts/tmp/dir" object(RecursiveDirectoryIterator)#2 (4) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(21) "/virtualhosts/tmp/dir" ["glob":"DirectoryIterator":private]=> bool(false) ["subPathName":"RecursiveDirectoryIterator":private]=> string(0) "" } string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" object(RecursiveDirectoryIterator)#2 (4) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" ["glob":"DirectoryIterator":private]=> bool(false) ["subPathName":"RecursiveDirectoryIterator":private]=> string(0) "" } $options = 10 string(21) "/virtualhosts/tmp/dir" object(SplFileInfo)#3 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(21) "/virtualhosts/tmp/dir" } string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" object(SplFileInfo)#2 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" } $options = 100 string(3) "dir" object(RecursiveDirectoryIterator)#4 (3) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["glob":"DirectoryIterator":private]=> bool(false) ["subPathName":"RecursiveDirectoryIterator":private]=> string(0) "" } string(34) "RecursiveDirectoryIteratorTest.php" object(RecursiveDirectoryIterator)#4 (3) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["glob":"DirectoryIterator":private]=> bool(false) ["subPathName":"RecursiveDirectoryIterator":private]=> string(0) "" } $options = 110 string(3) "dir" object(SplFileInfo)#3 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(21) "/virtualhosts/tmp/dir" } string(34) "RecursiveDirectoryIteratorTest.php" object(SplFileInfo)#4 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" } ------------------------------------------------------------------------ [2008-02-04 17:21:07] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.3-latest.tar.gz For Windows (zip): http://snaps.php.net/win32/php5.3-win32-latest.zip For Windows (installer): http://snaps.php.net/win32/php5.3-win32-installer-latest.msi There is indeed an issue. Can you update from cvs (5.3 or HEAD) and try again please? ------------------------------------------------------------------------ [2008-02-04 16:22:56] jordan dot raub at dataxltd dot com similar result with the latest snapshot... $options not passed string(21) "/virtualhosts/tmp/dir" object(SplFileInfo)#3 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(21) "/virtualhosts/tmp/dir" } string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" object(SplFileInfo)#4 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" } $options = 0 string(21) "/virtualhosts/tmp/dir" object(RecursiveDirectoryIterator)#2 (4) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(21) "/virtualhosts/tmp/dir" ["glob":"DirectoryIterator":private]=> bool(false) ["subPathName":"RecursiveDirectoryIterator":private]=> string(0) "" } string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" object(RecursiveDirectoryIterator)#2 (4) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" ["glob":"DirectoryIterator":private]=> bool(false) ["subPathName":"RecursiveDirectoryIterator":private]=> string(0) "" } $options = 10 string(21) "/virtualhosts/tmp/dir" object(SplFileInfo)#3 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(21) "/virtualhosts/tmp/dir" } string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" object(SplFileInfo)#2 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" } $options = 100 string(3) "dir" object(RecursiveDirectoryIterator)#4 (3) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["glob":"DirectoryIterator":private]=> bool(false) ["subPathName":"RecursiveDirectoryIterator":private]=> string(0) "" } string(34) "RecursiveDirectoryIteratorTest.php" object(RecursiveDirectoryIterator)#4 (3) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["glob":"DirectoryIterator":private]=> bool(false) ["subPathName":"RecursiveDirectoryIterator":private]=> string(0) "" } $options = 110 string(3) "dir" object(SplFileInfo)#3 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(21) "/virtualhosts/tmp/dir" } string(34) "RecursiveDirectoryIteratorTest.php" object(SplFileInfo)#4 (2) { ["pathName":"SplFileInfo":private]=> string(17) "/virtualhosts/tmp" ["fileName":"SplFileInfo":private]=> string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php" } ------------------------------------------------------------------------ [2008-02-04 14:39:06] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.3-latest.tar.gz For Windows (zip): http://snaps.php.net/win32/php5.3-win32-latest.zip For Windows (installer): http://snaps.php.net/win32/php5.3-win32-installer-latest.msi ------------------------------------------------------------------------ [2008-02-01 22:02:28] jordan dot raub at dataxltd dot com (oops sorry... first paragraph should have been....) creating a new RecursiveDirectoryIterator with no options passed and 0 as the options passed give 2 different things. for nothing passed the current value is an SplFileInfo while for a 0 passed a RecursiveDirectoryIterator object is passed. I would think that sending in 0 and nothing would give the same thing. Also in RecursiveDirectoryIterator constructor (ext/spl/spl_directory.c line 965 php5.2.5 not CVS) the flags are automatically set to return an SplFileInfo object, should this not be a RecursiveDirectoryIterator? (correct me if i'm wrong) ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/44018 -- Edit this bug report at http://bugs.php.net/?id=44018&edit=1