|
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]
|