PHP-将输入保存到带有日期名称的单独文件中

时间:2018-11-18 14:11:59

标签: php date createfile

我用PHP编写了一个代码,将输入保存到文件“ news”中。现在,我想更改它,它将所有输入保存到名称以日期开头的特殊文件夹(新闻)中的单独文件中。

我写了这样的东西,但是它不起作用(文件未创建)

<?php
include "0begin.php";

$title=$_POST["title"];
isset($title) or $title=$_GET["title"];
$msg=$_POST["msg"];

?>
<h1>News</h1>

<form method=post>
Title<br><input type=text input name="title" value=<?=$title?> ><br>
Message<br>
<textarea input name="msg" cols=40 rows=5> </textarea><br>
<input type="submit">
<br><br>
</form>

<?php
$msg = $_POST['msg'];
$dateposted = date("YmdHis");
$fp = fopen("$dateposted.txt", "w"); 
fwrite($fp,$title, $msg).'&nbsp;'; 
fclose($fp); 
?> 
<?php
include "0end.php";

1 个答案:

答案 0 :(得分:0)

我认为您的问题出在您正在使用的fopen和fwrite中。 fopen ("$dateposted.txt","w")将为您创建一个名为$ dateposted.txt的文件。我认为您宁愿要fopen($dateposted."txt","w")

由于未创建文件,因此如果运行脚本的用户(例如,Linux上的apache不允许在此写),我将检查目标文件夹的文件夹权限并进行修改。或设置完整的Destinationpath以确保文件存储在正确的目标中。

关于fwrite的另一件事。据我所知,fwrite接受2个参数。文件和字符串。第三个可能的参数是添加的字节的最大长度。在您的情况下,我将一次调用fwrite作为标题,一次调用该消息。此外,fwrite上的字符串连接对我来说似乎是错误的,因为我认为缩进的String应该位于文件中,因此您需要编写例如fwrite($fp, $title.'&nbsp;');