【发布时间】:2013-05-30 19:46:23
【问题描述】:
我最近开始使用 Cloud9 IDE 使用 javascript/php 进行编码。
我知道这可能与此处的某些问题重复,但我还没有找到适合我的解决方案。
我有一组自定义 javascript 对象,我想将它们保存到服务器上的文件中(稍后检索以重新填充页面上的数据):
<script>
var questionList = [];
function saveToFile() {
var x =JSON.stringify(questionList);
$.post("saveQuestion.php", {data : x}, function(){alert("File saved successfully")});
}
</script>
//in the body of the html
<button id="saveToFileButton" type="button" onclick='saveToFile()'>Save to file</button>
php文件'saveQuestion.php'在同一目录下,如下:
<?php
$data = $_POST['data'];
file_put_contents("savetest.txt", $data);
?>
然而,尽管我尽了最大努力,'savetest.txt' 仍然是空的。
我知道 'x' 被分配了正确的值,因为我可以将其打印到 html 元素中。
编辑:php 脚本有权写入文件,但据我所知,它从未被调用过。这可能是什么原因/解决方案?
有人可以提供一个简单的解释,突出我做错了什么以及可能的解决方法吗?
谢谢!
【问题讨论】:
-
对我来说看起来不错,在运行下一行之前检查 $data 在 php 中包含的内容。
-
你的 PHP 文件(试图保存到 savetest.txt 的文件有写权限吗?
-
检查是否有写入文件的权限,代码看起来没问题,这意味着PHP脚本可能不允许写入文件。让它创建一个随机名称的文件,并确保它可以写入它所在的目录。
-
检查 $data 并授予写入权限的最简单方法是什么?编辑:将“savetext.txt”更改为“randomname.txt”会导致创建文件“randomname.txt”,但内容为空?
-
实际上,按下“saveToFileButton”时并没有创建文件“randomname.txt”,而是在我手动运行php文件时...
标签: php javascript jquery save cloud9-ide