Problems with file creation

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

I have been migrating my custom cms work towards a push system.  My
first step has been to make all navigation into static files that are
written when the site structure is changed via the cms.

Thing is I have had to resort to having a dummy file in place and use
copy() on it to create my new files.  This is less elegant than I
would like but I find that fopen($filename, 'w') fails to create a
file where none exists on a lot of servers.

On one insecure *nix server where passthru was enabled I also tried

if (!file_exists($pgNavFile)) {
     passthru("touch $pgNavFile");

but it failed silently.

My preferred route would be for the function below to work every
time.  Can anyone tell me why the w flag does not work on all servers?



    function writeMenu($filename, $somecontent) {
        $msg =  'Navigation updating...';
        if (is_writable($filename)) {
            if (!$handle = fopen($filename, 'w')) {
                 $msg .= " Cannot open file ($filename).  ";
            // Write $somecontent to our opened file.
            if (fwrite($handle, $somecontent) === FALSE) {
                $msg .= " Cannot write to file ($filename).  ";
            $msg .= " Success, updated file: $filename.  ";
        } else {
            $msg .= " The file $filename is not writable.  ";
        return $msg;
    } // func

Re: Problems with file creation

jerrygarciuh wrote:
Quoted text here. Click to load it

Usually because the PHP user doesn't have write authority on the directory.

Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.

Site Timeline