473,390 Members | 1,348 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,390 software developers and data experts.

rmdir and chmod help for Windows XP Home!

Hi,

From what I read from the PHP manual, chmod on a Windows platform
should have no effect, and that seems totally normal (unless someone on
sourceforge has a windows port of that!).

I create a directory on my Windows box, and set chmod 777 on it (that
should be full access for everyone if my memory serves me correctly),
but when I want to rmdir that directory, I get a permission denied
message (I can delete contents from that directory with no problems, and
I can create/delete subdirectories either by hand or by script with no
problems.

I tried creating a subdirectory with the same name and without the chmod
in a test script and everything went OK...

I then commented out the chmod line in my script, and now, directory
creation and delete works fine!

So, for PHP on windows (xp home?), chmod 777 makes the file undeletable
for another PHP script, but not for Windows explorer or the windows/dos
command line...?!?!

Anyone got an explanation for this? I'm intrigued!

Cheers,
Daniel

Jul 17 '05 #1
5 16795
chmod and rmdir are UNIX commands which have no effect in a Windows
environment.

-Steve

"Daniel" <da****@dlpage.com> wrote in message
news:3f**********************@nan-newsreader-03.noos.net...
Hi,

From what I read from the PHP manual, chmod on a Windows platform
should have no effect, and that seems totally normal (unless someone on
sourceforge has a windows port of that!).

I create a directory on my Windows box, and set chmod 777 on it (that
should be full access for everyone if my memory serves me correctly),
but when I want to rmdir that directory, I get a permission denied
message (I can delete contents from that directory with no problems, and
I can create/delete subdirectories either by hand or by script with no
problems.

I tried creating a subdirectory with the same name and without the chmod
in a test script and everything went OK...

I then commented out the chmod line in my script, and now, directory
creation and delete works fine!

So, for PHP on windows (xp home?), chmod 777 makes the file undeletable
for another PHP script, but not for Windows explorer or the windows/dos
command line...?!?!

Anyone got an explanation for this? I'm intrigued!

Cheers,
Daniel

Jul 17 '05 #2
Chmod *should not* work, but it does somthing (I have no problems after
desactivating it), and rmdir has been a DOS command since MS-DOS v2 -
It's better known alias in the DOS world is "rd" (just as md & mkdir and
cd & chdir all work on your DOS and Windows command lines...)

As I mentionned, as soon as I commented out the chdir 777 on the
directory that I made with the script x, script y could delete it. When
I uncomment the chdir instruction and re-executed the script x, the
directory delete with script y gives me permission denied messages...

If you want, I can post code...

- Daniel (Who is still confused... :-)

Steven Musumeche wrote:
chmod and rmdir are UNIX commands which have no effect in a Windows
environment.

-Steve

"Daniel" <da****@dlpage.com> wrote in message
news:3f**********************@nan-newsreader-03.noos.net...
Hi,

From what I read from the PHP manual, chmod on a Windows platform
should have no effect, and that seems totally normal (unless someone on
sourceforge has a windows port of that!).

I create a directory on my Windows box, and set chmod 777 on it (that
should be full access for everyone if my memory serves me correctly),
but when I want to rmdir that directory, I get a permission denied
message (I can delete contents from that directory with no problems, and
I can create/delete subdirectories either by hand or by script with no
problems.

I tried creating a subdirectory with the same name and without the chmod
in a test script and everything went OK...

I then commented out the chmod line in my script, and now, directory
creation and delete works fine!

So, for PHP on windows (xp home?), chmod 777 makes the file undeletable
for another PHP script, but not for Windows explorer or the windows/dos
command line...?!?!

Anyone got an explanation for this? I'm intrigued!

Cheers,
Daniel



Jul 17 '05 #3
On Sat, 11 Oct 2003 16:57:40 +0200, Daniel <da****@dlpage.com> wrote:
Chmod *should not* work, but it does somthing (I have no problems after
desactivating it), and rmdir has been a DOS command since MS-DOS v2 -
It's better known alias in the DOS world is "rd" (just as md & mkdir and
cd & chdir all work on your DOS and Windows command lines...)


There is actually a function _chmod in the Windows C runtime library, that
appears to closely matches the Unix equivalent.

http://msdn.microsoft.com/library/de...c_._wchmod.asp

Not really clear how it'd interact with NTFS permissions though.

--
Andy Hassall (an**@andyh.co.uk) icq(5747695) (http://www.andyh.co.uk)
Space: disk usage analysis tool (http://www.andyhsoftware.co.uk/space)
Jul 17 '05 #4
A quick example for anyone who wants to try...

(do not enter x. for the line numbers O:-) )

1. mkdir("c:/PHPquickdirtest1");
2. chmod("c:/PHPquickdirtest1", 777);
3. rmdir ("c:/PHPquickdirtest1");
4. mkdir("c:/PHPquickdirtest2");
5. rmdir ("c:/PHPquickdirtest2");

Line 3 gives me a permission denied error. Line 5 works perfectly.
If I comment out line 2, lines 3 (and 5 of course) works perfectly.

This is under XP Home... Anyone care to try under a different version of
'Doze ?

Cheers,
Daniel

Andy Hassall wrote:
On Sat, 11 Oct 2003 16:57:40 +0200, Daniel <da****@dlpage.com> wrote:

Chmod *should not* work, but it does somthing (I have no problems after
desactivating it), and rmdir has been a DOS command since MS-DOS v2 -
It's better known alias in the DOS world is "rd" (just as md & mkdir and
cd & chdir all work on your DOS and Windows command lines...)

There is actually a function _chmod in the Windows C runtime library, that
appears to closely matches the Unix equivalent.

http://msdn.microsoft.com/library/de...c_._wchmod.asp

Not really clear how it'd interact with NTFS permissions though.

--
Andy Hassall (an**@andyh.co.uk) icq(5747695) (http://www.andyh.co.uk)
Space: disk usage analysis tool (http://www.andyhsoftware.co.uk/space)


Jul 17 '05 #5
Solution :
-----------
First of all, the current mkdir command needs to have an access mode
specified... this is not the case so:

mkdir("c:/PHPquickdirtest1");
becomes
mkdir("c:/PHPquickdirtest1", 0777);

This is not really a problem, though a this must depend on your version
of PHP, as on my home programming box, the first line is OK, but a
version under Windows NT 4 running a different version, the second line
is the only one valid.

Secondly, PHP needs the leading 0 for any mode access, so

chmod("c:/PHPquickdirtest1", 777);
becomes
chmod("c:/PHPquickdirtest1", 0777);

From here, I can access directories and delete them without any
problems. rmdir and chmod problems solved.

Bug :
-----
On my NT 4 test box, after doing a chmod 777, the directory was created,
and when I wanted to delete by hand, there was a Windows error message
"This folder is a read-only folder. Are you sure"... chmod 777 sets the
read-only attribute!
Under Windows XP Home, the directory is also read-only - the bug is that
when you delete it by hand, there is no warning of this attribute! -
Just the plain old Windows "are you sure" message... If you do not think
to do a right-click > properties, you will never know what directories
are standard and what are read-only when you delete them by hand, so the
protections provided by the read-only attribute are no longer a
protection... Well done Bill!

Cheers, and thanks for all your help,

Daniel
Daniel wrote:
A quick example for anyone who wants to try...

(do not enter x. for the line numbers O:-) )

1. mkdir("c:/PHPquickdirtest1");
2. chmod("c:/PHPquickdirtest1", 777);
3. rmdir ("c:/PHPquickdirtest1");
4. mkdir("c:/PHPquickdirtest2");
5. rmdir ("c:/PHPquickdirtest2");

Line 3 gives me a permission denied error. Line 5 works perfectly.
If I comment out line 2, lines 3 (and 5 of course) works perfectly.

This is under XP Home... Anyone care to try under a different version of
'Doze ?

Cheers,
Daniel

Andy Hassall wrote:
On Sat, 11 Oct 2003 16:57:40 +0200, Daniel <da****@dlpage.com> wrote:

Chmod *should not* work, but it does somthing (I have no problems
after desactivating it), and rmdir has been a DOS command since
MS-DOS v2 - It's better known alias in the DOS world is "rd" (just as
md & mkdir and cd & chdir all work on your DOS and Windows command
lines...)


There is actually a function _chmod in the Windows C runtime library,
that
appears to closely matches the Unix equivalent.

http://msdn.microsoft.com/library/de...c_._wchmod.asp
Not really clear how it'd interact with NTFS permissions though.

--
Andy Hassall (an**@andyh.co.uk) icq(5747695) (http://www.andyh.co.uk)
Space: disk usage analysis tool (http://www.andyhsoftware.co.uk/space)



Jul 17 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Alex Kouzemtchenko | last post by:
ok, I've got a peice of code that deletes folders, wether empty or non-empty and I keep getting these errors: Warning: rmdir(./modules/test/Copy of test/Random Folder) : Permission denied in...
1
by: Xuan Yuan | last post by:
I'm using Windows XP Professional and have no FTP installed. Instead, I use Command Promt. I need to CHMOD a PHP file, so I type "CHMOD 775 file-path",but get "'CHMOD'is not recognized as an internal...
5
by: Stewart | last post by:
Hi, I'm working on a program in VC++ right now that needs to set file permissions of a given file to 766 (read/write/execute). Now I've found the _chmod() function in the API help docs, but that...
2
by: Freebird | last post by:
Hello everyone, =] I need your help, I'm creating a script that will work in many servers, and there's this part, where you can update a list, so the script goes from the client's machine to...
47
by: frizzle | last post by:
Hi, I am at the base of an FTP thingy i'm building, and i noticed that it would only work if i chmod the folder 777, i thought to remember correctly that previously on another site chmod 744 was...
3
by: Rik | last post by:
Hello, first of all, my provider sucks, newsserver is down for the #nth time now, offcourse when I have an urgent question.... So this will be me first time using Google Groups, forgive me if...
1
by: lakshmi1 | last post by:
#include<stdio.h> #include<unistd.h> Hi, when i execute the following code both lakshmi and sri gets printed,later if i give pwd in the path /home/tcsbasr/CFILES the following statement is ...
3
by: royG | last post by:
hi i am checking if a directory exists and if it does i want to delete it and its contents.then i want to create the directory before creating files in it. def myfolderops():...
3
by: mamul | last post by:
Hi All, Can some one help me how to delete a complete directory containing files and folders. I can use system() command but i want use rmdir() and calling it recusively to delete the complete...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.