写入PHP文件

写入PHP文件,php,file,Php,File,我试图将一个基本的错误表单写入一个文件,但当我提交该文件时,我的PHP总是崩溃。我已经尝试了一些基本的错误修复,比如if语句是否出现,我使用的所有变量是否都不是null,等等 在我的代码中,所有字符串变量都是有效的,我100%确定它们没有导致错误 我已经通过错误测试将其缩减为行 $destination = fopen($filename,"w"); 及 我的代码: if(isset($_POST['submit']) && $_POST['name'] != "" &

我试图将一个基本的错误表单写入一个文件,但当我提交该文件时,我的PHP总是崩溃。我已经尝试了一些基本的错误修复,比如if语句是否出现,我使用的所有变量是否都不是null,等等

在我的代码中,所有字符串变量都是有效的,我100%确定它们没有导致错误

我已经通过错误测试将其缩减为行

 $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";