2017-07-07 122 views
0

我正面臨一個問題。這是我的腳本的樣子:PHP無法執行文件操作文件(fopen,fwrite,fclose)

$file = fopen("logs/log.php", "r+") or die("Kan bestand (1) niet openen bradda!"); 
$content = fread($file, filesize("logs/log.php")); 
fclose($file); 
$filee = fopen("logs/log.php", "r+") or die("Kan bestand (2) niet openen bradda!"); 
$newcontent = $content.'<br /><b>'.$userRow['userId'].' - '.$userRow['userName'].'  -  '.$search; 
fwrite($filee, $newcontent) or die("Kan bestand (3) niet openen bradda!"); 
fclose($filee); 

我的目的是創建一個日誌。每次用戶搜索關鍵詞時,都必須記錄在文件「log.php」中。 我在VPS(Windows服務器)上運行,並且正如我從具有PHP經驗的其他人那裏瞭解到的,告訴我目錄/路徑應該不同。因爲它不是一個虛擬主機。 如果那是完全正確的,我不知道。但我希望你們能幫我解決這個問題。

+0

您不應該記錄到數據庫表嗎? – Terry

+0

問題是什麼? – gview

+0

@Terry如果錯誤是數據庫問題,該怎麼辦?記錄到文件可能稍微更健壯。 – ADyson

回答

0

請按以下步驟操作: 1)在網站根目錄下創建日誌文件夾。 2)檢查您的日誌文件夾的讀/寫權限。 (需要許可777) 3)在r +的地方使用+。因爲r +文件指針從文件的開始處開始,並且在+中保存了文件中的現有數據。文件指針從文件末尾開始。如果文件不存在,則創建一個新文件。

+0

我不會在網站目錄中放置一個日誌文件 - 除非您非常小心,否則每個訪問該網站的人都可以讀取它。 – ADyson

+0

然後我的忠告是:創建虛擬目錄,可以從Apache訪問(從PHP)。 –

+0

你不希望Apache能夠看到它(這是我的原始觀點),只有PHP應該可以訪問它。 – ADyson