正如我们所做的那样,我正在冒险进入另一个编程企业。我正在使用xhtml标准1.0,CSS,Javascript和PHP构建一个网站。这里没什么特别的,但我在PHP开发过程中遇到了一个非常有趣的问题。
我编写了工作代码,通过电子邮件发送电子邮件到网站联系电子邮件,并通过表单发送给发件人。我还想在服务器内部记录这些事务。从我研究的内容来看应该很容易。这就是我所拥有的。
$fileVar = fopen("../data/feedback.txt", "a")
or die("Error: Could not open the log file.");
fwrite($fileVar, "\n-------------------------------------------------------\n")
or die("Error: Could not write to the log file.");
fwrite($fileVar, "Date received: ".date("jS \of F, Y \a\\t H:i:s\n"))
or die("Error: Could not write to the log file.");
fwrite($fileVar, $messageToBusiness)
or die("Error: Could not write to the log file.");
我正在存储反馈文本的目录将是我的public_html(主目录,然后很简单... data / feedback.txt。
我正在使用标准权限...字面上没有什么特别的755用于目录,644用于文件。但是,每次执行我都会收到第一个错误。
(“错误:无法打开日志文件。”)
我需要帮助,更重要的是,如果您知道原因,可以给我一个简短的解释,或者如果您没有时间,您可以在以后提供资源链接吗?我似乎无法绕过这个。
感谢阅读,如果我先找到答案,我会发布。
编辑:我决定将整个代码包含在内,希望错误来自上面。我将感谢任何信息和建设性的反馈。我不是那里唯一的人,所以我的问题也集中在为他人提供资源。
<?php
//SendEmail.php
$messageToBusiness =
"From: ".$_POST['firstname']." "
.$_POST['lastname']."\r\n" .
"E-mail address: ".$_POST['email']."\r\n".
"Phone number: ".$_POST['phone']."\r\n".
"Subject: ".$_POST['Please_Choose']."\r\n".
"Message Text: \r\n".$_POST['Message']."\r\n";
$headerToBusiness = "From: $_POST[email]\r\n";
mail("emailreplacement@gmail.com", $_POST['subject'], $messageToBusiness, $headerToBusiness);
$messageToClient =
"Dear " .$_POST['lastname'].":\r\n".
"The following message was received from you by website:\r\n\r\n".
$messageToBusiness.
"------------------------\r\nThank you for the taking the time to contact us, our representatives will respond as soon as we have the appropriate information for you.
Thank you for your patronage.\r\n" .
"Business Rep \r\n------------------------\r\n";
if ($_POST['reply'])
$messageToClient .= "Please feel free to contact us with any more concerns you may have!";
$headerToClient = "From: fakeemail@fake.com\r\n";
mail($_POST['email'], "Re: ".$_POST['subject'], $messageToClient, $headerToClient);
$display = str_replace("\r\n", "<br />\r\n", $messageToClient);
$display =
"<html><head><title>Your Message</title></head><body><tt>".
$display.
"</tt></body></html>";
echo $display;
$fileVar =fopen("../data/feedback.txt", "a")
or die("Error: Could not open the log file.");
fwrite($fileVar, "\n-------------------------------------------------------\n")
or die("Error: Could not write to the log file.");
fwrite($fileVar, "Date received: ".date("jS \of F, Y \a\\t H:i:s\n"))
or die("Error: Could not write to the log file.");
fwrite($fileVar, $messageToBusiness)
or die("Error: Could not write to the log file.");
?>
答案 0 :(得分:4)
错过了/
:
$fileVar = fopen("..data/feedback.txt", "a")
^--- here
应为../data/feedback.txt
。如果没有这些额外的斜杠,您将尝试在CURRENT目录中使用名为..data
的目录。由于该子目录与您存在的子目录不同,因此无法在其中打开文件,因此您的“无法打开文件”错误。