在服务器上的文本文件中写入数据

时间:2019-04-07 19:00:51

标签: javascript php fopen fwrite file-put-contents

我正在尝试构建一个简单的网页,提示用户根据需要多次单击图像。最终,在用户完成操作后,他/她应单击一个链接“我已完成”,该链接应触发服务器将磁盘写入磁盘(例如:“我单击了x次”,我可以设法获得该链接)。

我尝试过:

<a onclick="WriteNGo()" href="next_index.html">I am Done</a>

当然:

function WriteNGo() {
    $.ajax({
        type: "POST",
        url: 'php/save.php',
        data: {writeMe: textToWrite}
    });
}

其中textToWrite是包含字符串的全局变量。我可以

alert(textToWrite)

它并获得所需的句子。

并在正确的位置添加了php / save.php:

<?php
    $data = $_POST['writeMe'];
    $f = "../d/data.txt";
    file_put_contents($f,$data,FILE_APPEND);
?>

做了一个

sudo chmod +777 d

在文件夹上。

我只想得到一个包含我的字符串的文本文件(即“我点击了x次”)。我什至不确定POST命令是否会触发PHP服务器。

还有一件事:index.html在我当前正在运行的根目录中:

php -S localhost:8000

这样就不会有任何问题。

我还应该声明,虽然我无法复制该字符串,但该字符串已经写入了 一次。

1 个答案:

答案 0 :(得分:0)

不确定是否可以解决您的问题。也许,尝试使用类似的方法查看您的数据写入位置:

<?php
    $data = $_POST['writeMe'];
    $path = "../d";

    $dir = $path . "/";

    if (!is_dir($dir)) {mkdir($dir, 0755, true);} 

    // A faster alternative to file_put_content
    $f = $dir . "/data.txt";
    $fp = fopen($f, "x+");
    fwrite($fp, $data);
    fclose($fp);
?>