如何使用id在php中附加文件

时间:2016-03-05 15:18:26

标签: php session

当用户打开页面时,会有一个计数变量,该变量递增1。 count变量以及数据都写在文件中。

问题涉及未递增的会话变量。每次加载页面时,应该在会话中增加一个应该放入文件的增量。

主要思想是有一个文本框。用户只需编写文本apple现在数据与正在计数的会话变量一起保存在文件中。如果同一个用户再次在文本框中写了一些东西,它会在前面添加相同的会话ID

例如

用户第一次来到并在文本框中写字"我是作家"。

session id      Text
24            I am a writer

同样的用户在文本框中写了我是首席。它应该附加相同的

session id      Text
24           I am a writer I am a Chief

这是php代码

<?php
session_start();


if (isset($_SESSION["hello"]))
    $_SESSION["hello"]++;
else
    $_SESSION["hello"] = 1;

if (isset($_POST['submit'])) {
    $txt = "abc.txt";
    if (isset($_POST['field1'])) {
        $fh  = fopen($txt, 'a');
        $a   = $_SESSION["hello"];
        $txt = $a . '-' . $_POST['field1'];

        fwrite($fh, $txt . PHP_EOL);
        fclose($fh);

    }
}

echo $_SESSION["hello"];

HTML

<form action="index.php" method="POST">
    <input name="field1" type="text" />
    <input type="submit" name="submit" value="Save Data">
</form>

1 个答案:

答案 0 :(得分:0)

我在debian服务器上运行你的代码,它似乎按预期增加和保存。写完东西并提交3次之后,abc.txt就像这样

cat abc.txt 
2-i'm the first entry! 
3-2nd line of input
4-3rd line!

您确定这不是许可问题吗?如果您使用的是Linux,请尝试输入包含index.php的目录并执行以下操作。

sudo chmod +x index.php 
sudo chmod 777 .

一旦发现错误,请记住将777更改为更合理/更自由的东西(777授予任何人完全读/写/执行权限,这几乎不是生产环境中的正确选择)。