Bug #14657 Updated: Sometimes mkdir("test1", "0777"); $d=dir("test1"); $d->close(); rmdir("test1");
| From: | steph dot fox at btinternet dot com | Date: | Sat, 29 Jun 2002 18:07:41 +0000 |
| Subject: | Bug #14657 Updated: 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-12534@lists.php.net to get a copy of this message | ||
ID: 14657
Updated by: steph.fox@btinternet.com
Reported By: adrozdov@mail.ru
Status: Critical
Bug Type: *Directory/Filesystem functions
Operating System: Windows XP
PHP Version: 4.1.0
New Comment:
It might be useful to know that there's no problem at all on either
win98 or *nix ..
Previous Comments:
------------------------------------------------------------------------
[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