试图用PHP和ajax帖子写入txt文件

时间:2013-11-10 03:48:47

标签: javascript php jquery ajax

我正在尝试保存根据用户与我正在创建的Web应用程序的交互动态创建的字符串。只是一个字符串。没什么特别的。我正在使用ajax将字符串发送到服务器,似乎它正在使用我正在使用的file_put_contents函数,但它似乎变得混乱。它生成了txt文件,但它没有放入任何内容,并且它不会发送回q,我将它回显的变量。

另一个奇怪的事情是,当我尝试使用此

写入所述文件时
file_put_contents($putStringHere, $q);

我也试过这个:

file_put_contents($putStringHere, "$q");

该文件总是说这发生了:

修改:今天,现在(我上次运行该功能)

上次开启时间:今天,5分钟前...我上次手动打开文件

这是有道理的,除了上面的函数包含fopen,fmodify,fclose或其他任何被调用的事实。并将修改后的设置设置为上次运行该功能...我对此非常困惑。任何能提供帮助的人,我都会非常感激。

发送字符串的ajax(是的,我确定它是一个字符串)

//ajax for saving changes
function stylesheetBackup(str){
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("POST","stylesheetBackupFile.php",true);
    console.log("q="+str);
    xmlhttp.send("q="+str);
}

还尝试了ajax

xmlhttp.open("POST","stylesheetBackupFile.php",true);
xmlhttp.send();

用ajax调用的php

<?php
//get the q parameter from URL
$q = $_POST["q"];
$putStringHere = "savedStyleSheet.txt";
//output the response
echo $q;

//save to a backup file
file_put_contents($putStringHere, $q);
?>

2 个答案:

答案 0 :(得分:1)

你的不匹配:

xmlhttp.open("GET"...

$q = $_POST["q"];

答案 1 :(得分:0)

这有两件事可能有助于解决您的问题:

  1. 在AJAX请求中,您指定它是GET请求。但是,在PHP文件中,您尝试获取q $_POST的值。请改为$_GET['q']
  2. 我不确定您是否可以使用xmlhttp.send发送您的GET数据。尝试将其添加到您的网址,例如xmlhttp.open("GET", "stylesheetBackupFile.php?q=" + str, true)