Does anyone know how I can check to see if a directory is writeable in PHP?
The function is_writable
doesn't work for folders. (edit: It does work. See the accepted answer.)
Does anyone know how I can check to see if a directory is writeable in PHP?
The function is_writable
doesn't work for folders. (edit: It does work. See the accepted answer.)
You may be sending a complete file path to the
is_writable()
function.is_writable()
will return false if the file doesn't already exist in the directory. You need to check the directory itself with the filename removed, if this is the case. If you do that,is_writable
will correctly tell you whether the directory is writable or not. If$file
contains your file path do this:Then use
is_writable($file_directory)
to determine if the folder is writable.I hope this helps someone.
According to the documentation for is_writable, it should just work - but you said "folder", so this could be a Windows issue. The comments suggest a workaround.
(A rushed reading earlier made me think that trailing slashes were important, but that turned out to be specific to this work around).
Yes, it does work for folders....
to be more specific for owner/group/world
peace...
this is how I do it:
create a file with
file_put_contents()
and check the return value, if it is positive (number of written in Bytes) then you can go ahead and do what you have to do, if it is FALSE then it is not writablethen you can delete the dummy file by using unlink()
stat()
Much like a system stat, but in PHP. What you want to check is the mode value, much like you would out of any other call to stat in other languages (I.E. C/C++).
http://us2.php.net/stat