search for in the  
<is_uploaded_fileis_writeable>
Last updated: Thu, 19 May 2005

is_writable

(PHP 4, PHP 5)

is_writable -- Tells whether the filename is writable

Description

bool is_writable ( string filename )

Returns TRUE if the filename exists and is writable. The filename argument may be a directory name allowing you to check if a directory is writeable.

Keep in mind that PHP may be accessing the file as the user id that the web server runs as (often 'nobody'). Safe mode limitations are not taken into account.

Example 1. is_writable() example

<?php
$filename
= 'test.txt';
if (
is_writable($filename)) {
   echo
'The file is writable';
} else {
   echo
'The file is not writable';
}
?>

Note: The results of this function are cached. See clearstatcache() for more details.

Tip: As of PHP 5.0.0 this function can also be used with some URL wrappers. Refer to Appendix L for a listing of which wrappers support stat() family of functionality.

See also is_readable(), file_exists(), and fwrite().



User Contributed Notes
is_writable
claude dot paroz at ne dot ch
06-Apr-2004 06:28
Under Windows, it only returns the read-only attribute status, not the actual permissions (ACL).
See http://bugs.php.net/bug.php?id=27609
agrenier at assertex dot com
02-Apr-2004 06:56
This file_write() function will give $filename the write permission before writing $content to it.

Note that many servers do not allow file permissions to be changed by the PHP user.

<?php
  
function file_write($filename, &$content) {
       if (!
is_writable($filename)) {
           if (!
chmod($filename, 0666)) {
                 echo
"Cannot change the mode of file ($filename)";
                 exit;
           };
       }
       if (!
$fp = @fopen($filename, "w")) {
           echo
"Cannot open file ($filename)";
           exit;
       }
       if (
fwrite($fp, $content) === FALSE) {
           echo
"Cannot write to file ($filename)";
           exit;
       }
       if (!
fclose($fp)) {
           echo
"Cannot close file ($filename)";
           exit;
       }
   }
?>

<is_uploaded_fileis_writeable>
 Last updated: Thu, 19 May 2005
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: The Server Pages
Last updated: Thu May 19 17:35:34 2005 CDT