写入PHP文件
我试图将一个基本的错误表单写入一个文件,但当我提交该文件时,我的PHP总是崩溃。我已经尝试了一些基本的错误修复,比如if语句是否出现,我使用的所有变量是否都不是null,等等 在我的代码中,所有字符串变量都是有效的,我100%确定它们没有导致错误 我已经通过错误测试将其缩减为行写入PHP文件,php,file,Php,File,我试图将一个基本的错误表单写入一个文件,但当我提交该文件时,我的PHP总是崩溃。我已经尝试了一些基本的错误修复,比如if语句是否出现,我使用的所有变量是否都不是null,等等 在我的代码中,所有字符串变量都是有效的,我100%确定它们没有导致错误 我已经通过错误测试将其缩减为行 $destination = fopen($filename,"w"); 及 我的代码: if(isset($_POST['submit']) && $_POST['name'] != "" &
$destination = fopen($filename,"w");
及
我的代码:
if(isset($_POST['submit']) && $_POST['name'] != "" && $_POST['email'] != ""){
$filename = "message_" . date('Y-m-d H:i:s') . ".txt";
$issueType = "Type of issue: " . $_POST["issues"] . "\r\n";
$submitter = "Submitted by: " . $_POST["name"];
$email = "Email ID: " . $_POST["email"];
$time = "Submitted at: " . date('Y-m-d H:i:s') . "\r\n";
$message = "Details: " . $_POST["details"];
$destination = fopen($filename,"w");
fwrite($destination,"Issue Alert!");
fwrite($destination,$issueType);
fwrite($destination,$submitter);
fwrite($destination,$email);
fwrite($destination,$time);
fwrite($destination,$message);
$fclose($destination);
}
我正在实现的任何其他代码都是无关的,因为我已经把它们作为错误点删掉了
当我尝试使用基本的硬编码字符串时,我没有得到任何错误。感谢您的帮助,谢谢 在编写时尝试更改您的
$filename
$filename = "message_" . date('Y-m-d H:i:s') . ".txt";
因为您不能在文件名中使用冒号(':'from'H:i:s
')
也许你可以试试这个:
$filename = "message_" . date('U') . ".txt";
您的文件名中仍有日期时间信息
但是请记住,如果您的网站流量很大,可能您会在一秒钟内获得相同的文件名,并且以前的现有文件将被覆盖您不能将冒号用作文件名的一部分,并且您的
$fclose()
有语法错误。如果它崩溃,那么我假设您得到了错误代码,你查过php错误日志了吗?深夜的问题总是很有趣,不是吗@FunkFortyNiner@Riggs无聊的;他们使我免于麻烦。似乎我很久以前就回答过这个问题了,但这篇文章似乎想用一个简单的重写来润色一下。@HowardPearce你还记得上一个问题中给出的答案吗?这个答案包含一个指向另一个问答的链接,告诉你如何检查错误?好吧,你在这一条中声明没有错误。我觉得你没有做一些你会看到的事情。你错过了什么对不起,是什么?这是我在$
之前的fclose()
帖子下的第一条评论?我想霍华德·皮尔斯已经注意到了。我只想给出另一种选择,继续使用文件名中没有冒号的日期时间信息。美元符号将立即抛出一个未定义的变量通知。这是一个核心php函数
$filename = "message_" . date('U') . ".txt";