|  | Posted by Jerry Stuckle on 02/01/08 17:09 
jerrygarciuh wrote:> 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
 >
 
 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.
 jstucklex@attglobal.net
 ==================
  Navigation: [Reply to this message] |