首页 > 解决方案 > PHP-将输入保存到具有日期名称的单独文件中

问题描述

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

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

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

标签: phpdatecreatefile

解决方案


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

由于没有创建文件,我会检查目标文件夹的文件夹权限,如果运行脚本的用户(例如 linux 上的 apache 不允许在那里写入)则修改它们。或设置完整的 Destinationpath 以确保文件存储在正确的目标中。

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


推荐阅读