我用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).' ';
fclose($fp);
?>
<?php
include "0end.php";
答案 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.' ');