-1
我有一個功能forbid()
,它應該寫入拒絕訪問的日誌文件,以及拒絕的原因。出於某種原因,它不寫入日誌文件。在觸發403頭之前,fputs不會寫入
// function to forbid access
function forbid($reason) {
// explain why
if ($reason) fputs($file, "=== ERROR: " . $reason . " ===\n");
fputs($file, "*** ACCESS DENIED ***" . "\n\n\n");
fclose($file);
// forbid
header("HTTP/1.0 403 Forbidden");
exit;
}
$file
較早在代碼中定義,以及其他fputs()
之前該功能是否正常工作;我認爲這是關於403頭引起它不寫的東西。
而且我認爲這是'$ file'在函數範圍中沒有定義的。 –
如果你想在函數中使用'$ file',你應該使用use語句或者直接把它作爲參數傳遞給你的函數。 –
這是一個命名的函數定義,'use'用於匿名函數。 –