#14657 [Ctl->Csd]: Sometimes mkdir("test1", "0777"); $d=dir("test1"); $d->close(); rmdir("test1");

From: Date: Mon, 29 Jul 2002 13:17:14 +0000
Subject: #14657 [Ctl->Csd]: Sometimes mkdir("test1", "0777"); $d=dir("test1"); $d->close(); rmdir("test1");
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-15490@lists.php.net to get a copy of this message
ID: 14657 Updated by: sfox@php.net Reported By: adrozdov@mail.ru -Status: Critical +Status: Closed Bug Type: *Directory/Filesystem functions Operating System: Windows XP PHP Version: 4.1.0 New Comment: This bug has been fixed in CVS. You can grab a snapshot of the CVS version at http://snaps.php.net/. In case this was a documentation problem, the fix will show up soon at http://www.php.net/manual/. In case this was a PHP.net website problem, the change will show up on the PHP.net site and on the mirror sites. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2002-06-29 14:07:41] steph.fox@btinternet.com It might be useful to know that there's no problem at all on either win98 or *nix .. ------------------------------------------------------------------------ [2002-06-04 16:25:07] mfischer@php.net Verified with CVS HEAD (on w2kpro), setting to critical (fix before 4.3) ------------------------------------------------------------------------ [2001-12-22 05:55:26] sander@php.net Simplified: mkdir("c:/test",0777); $d=dir("c:/test"); $d->close(); rmdir("c:/test"); Doesn't work. rmdir says Permission denied. Only if you call $d->close() twice it will work. Reproduced with 4.1.0 on Windows 2000. ------------------------------------------------------------------------ [2001-12-22 05:45:16] adrozdov@mail.ru Environment: Windows XP, FAT32, Apache (latest), MySQL (3.23.xx) Origin: I've been installed php 4.1.0 and was writing a proc who removes a tree of directories. Trivial task. I've doing that many times on Unix machines. With no problems. But here're my WinXP home workbox. I was surprised when I got a following error Warning: RmDir failed (Permission denied) Searching the solution: 1) I've deleted 4.1.0 and installed 4.0.5. "Effect" present. 2) I've cut off all of stupid code. Only code like in summary stayed. "Effect" present. 3) I've deleted $d=dir(..); $d->close(); Wow! All is working! What the f$ck? 4) Here vooodo jumping around the fire during about 3 hrs. At least I suppose some bug in $d->close() relization and tried _to_add_one_more_$d->close()!!! And it worked as it should be so!!! I've phpinfo() dumps for working and unworking variants. But I don't know who to send them. Script: <?php function indir() { print "BEGIN<br>"; mkdir("test1","0777"); mkdir("test1/test2","0777"); $d = dir("./test1/test2"); // .. do something with $d.. here we'll do nothing ;) // !!!!!!!!!!!!!!!!!!!!! $d->close(); // logically that's all! // print "Second close on!<br>"; $d->close(); // but.. try to comment these one - you'll get an error! // !!!!!!!!!!!!!!!!!!!!! rmdir("test1/test2"); rmdir("test1"); echo "END<br>"; }; indir(); print phpinfo(); ?> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=14657&edit=1

« previous php.bugs (#15490) next »