PHP无法执行文件操作文件(fopen,fwrite,fclose)

问题描述:

我正面临一个问题。这是我的脚本的样子: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

请按以下步骤操作: 1)在网站根目录下创建日志文件夹。 2)检查您的日志文件夹的读/写权限。 (需要许可777) 3)在r +的地方使用+。因为r +文件指针从文件的开始处开始,并且在+中保存了文件中的现有数据。文件指针从文件末尾开始。如果文件不存在,则创建一个新文件。

+0

我不会在网站目录中放置一个日志文件 - 除非您非常小心,否则每个访问该网站的人都可以读取它。 – ADyson

+0

然后我的忠告是:创建虚拟目录,可以从Apache访问(从PHP)。 –

+0

你不希望Apache能够看到它(这是我的原始观点),只有PHP应该可以访问它。 – ADyson