我正在尝试保存根据用户与我正在创建的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);
?>
答案 0 :(得分:1)
你的不匹配:
xmlhttp.open("GET"...
和
$q = $_POST["q"];
答案 1 :(得分:0)
这有两件事可能有助于解决您的问题:
q
$_POST
的值。请改为$_GET['q']
。xmlhttp.send
发送您的GET数据。尝试将其添加到您的网址,例如xmlhttp.open("GET", "stylesheetBackupFile.php?q=" + str, true)
。