#12699 [Com]: opendir() fails when used on read-only devices

From: Date: Tue, 29 Apr 2003 19:47:40 +0000
Subject: #12699 [Com]: opendir() fails when used on read-only devices
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-38764@lists.php.net to get a copy of this message
ID: 12699 Comment by: par at parwebworks dot net Reported By: sebastian@php.net Status: Closed Bug Type: Directory function related Operating System: Win32 PHP Version: 4.0CVS-2001-08-11 New Comment: I changed the permissions in my inetpub directory to full access for the IUSR account (which I assume IIS uses for php to do file operations). Ofcourse full access is a bit much but, it works ;) I'm not sure if this is the place for codes but figured I'd post my recursive files/directory reader function I wrote based on tons of "whatever is this supposed to work?" codes on the php.net pages. Tried to add a comment there but all I got was a "phpschool.com" page not found error... so, if it's any useful, here it goes.. it's very basic and just gives a nice output of my full inetpub dir. <?php rec_readdir("e:\inetpub\wwwroot"); function rec_readdir($dirname) { if ($dir = opendir($dirname)) { while (false !== ($file = readdir($dir))) { if (($file !=='.') && ($file!=='..') && ($file !== $dirname)) { $checkdirname = $dirname."\\".$file; if(is_dir($checkdirname)) { echo "<BLOCKQUOTE>\n"; echo "<B>recdir: $checkdirname</B><BR>\n"; rec_readdir($checkdirname); echo "</BLOCKQUOTE>\n"; } else { echo "$dirname\<I>$file</I><BR>\n"; } } } closedir($dir); } } ?> Previous Comments: ------------------------------------------------------------------------ [2003-04-29 13:54:24] par at parwebworks dot net Just noticed the topic is closed but... It indeed is a security issue. On my server (win2k) I get the same error as the original author who has this problem. When using IIS (which I think he is), the IUSR_GUEST (wrong spelling but check your security rights on a directory it's something like that) needs read permissions on a folder for php to be allowed to access it. It's weird though that php generates this weird error rather than say "permission denied" which I would find a lot more obvious.. but then again, who would run IIS and php right? When using my C:/inetpub/wwwroot as folder, the opendir works just fine and that has IUSR_guest access... just fool around with those permissions and I'm sure you'll get it to work. ------------------------------------------------------------------------ [2002-11-11 17:59:04] xenosis2000 at hotmail dot com By the way.. I still can't get it to work.. help appriciated. ------------------------------------------------------------------------ [2002-11-11 17:58:26] xenosis2000 at hotmail dot com I ran into something similar with trying to OpenDir to a mapped network drive. Variable Define: $logpath = "s:\dir\System\"; Use it: $handle=opendir($logpath); Error: Warning: OpenDir: Invalid argument (errno 22) in logs.php on line 45 ------------------------------------------------------------------------ [2001-10-02 18:38:38] sniper@php.net No feedback, considered fixed. (naughty, naughty Sebastian.. :) ------------------------------------------------------------------------ [2001-08-13 05:26:59] phildriscoll@php.net Sorry - that last line should read: *if* you set up DocumentRoot to point to it. ------------------------------------------------------------------------ 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/12699 -- Edit this bug report at http://bugs.php.net/?id=12699&edit=1

« previous php.bugs (#38764) next »