|  | Posted by jerrygarciuh on 02/01/08 17:00 
Hello,
 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?
 
 TIA
 
 jg
 
 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).  ";
 }
 fclose($handle);
 $msg .= " Success, updated file: $filename.  ";
 } else {
 $msg .= " The file $filename is not writable.  ";
 }
 return $msg;
 } // func
  Navigation: [Reply to this message] |