我有一个需要将一些html写入文件的cron脚本。
需要编写HTML的文件位于public_html目录中,而脚本位于该目录上方的不同位置。如果我手动CHMOD一切正常,但我不想将其保留为0777或继续手动操作,所以我想让我的脚本为我做。
ob_start();
// build my HTML
$myHTML = ob_get_clean();
// CODE TO SAVE INTO INCLUDE <<<
$filename = 'home/public_html/file.php';
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'w')) {
mail("support@domain.com", "Failed to create include", "Script failed to create include", "From: Support <support@domain.com>");
exit;
}
// Write $somecontent to our opened file.
if (fwrite($handle, ($myHTML)) === FALSE) {
mail("support@domain.com", "Failed to create include", "Script failed to create include", "From: Support <support@domain.com>");
exit;
}
fclose($handle);
} else {
mail("support@domain.com", "Failed to create include", "Script failed to create include", "From: Support <support@domain.com>");
exit;
}
不幸的是它似乎不起作用。为什么呢?
答案 0 :(得分:1)
这看起来像绝对路径home/public_html/
你确定你没有误导它吗?
你可以
var_dump(file_exists($filename))
如果返回true
,则可以尝试使用
与
var_dump(file_put_contents($filename,$myHTML))
您可以查看您在其中写入的字节数
如果返回false
,则表示您有权限问题
答案 1 :(得分:0)
在对权限进行更改之前,您必须具有对文件的写入权限。