javascript - 使用 PHP 和 JS 将文件保存到服务器?
问题描述
我已经尝试了几个小时,谷歌搜索并尝试了几种方法。代码太简单了,我不明白为什么它不起作用。我正在使用 000webhost 免费托管 atm 来测试这一点。
我实际上只是想将一个变量传递给 php 文件,以便将其保存在文本文件中,在本例中为“ayy”。最新代码(甚至没有创建文件):
JS代码
function doSave(){
xhr.open("POST", "save.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xhr.send("ayy");
}
PHP 代码 (save.php)
<?php
file_put_contents('data.txt', file_get_contents('php://input'));
?>
我之前在下面也有这段代码,但是它只创建了一个空白文件并且不会向其附加任何文本:
索引.htm
function doSave(){
var datastr = "ayy";
var xmlhttp = new XMLHttpRequest();
xmlhttp.setRequestHeader('Content-Type', 'application/json');
xmlhttp.open("GET", "save.php", true);
xmlhttp.send(datastr);
}
保存.php
<?php
$post_data = $_POST['datastr'];
$f = fopen("data.txt", "w+");
fwrite($f, $post_data);
fclose($f);
?>
有什么建议为什么这可能不起作用?我能想到的只是服务器不支持它或其他东西,但是如果我在 php 文件中指定变量并使用 GET 请求来简单地发布变量,我可以让它正常工作。但是数据将是动态的,所以我需要使用 js 从客户端传递它。
谢谢。
解决方案
推荐阅读
- c++ - 使用 std::transform() 添加四个向量 c++
- c# - 无法将反序列化的 json 放入 gridview
- java - Android studio - 如何使用长按按钮
- java - 尽管没有错误,但我的应用程序无法在 android studio 中运行,我想怎么办?
- postgresql - Django 数据库从 SQLlite 更改为 PostgreSQL 日期时间字段错误全局解决所有模型字段
- python - CR.CR_SERVER_LOST, "查询期间丢失与 MySQL 服务器的连接")
- amazon-web-services - 使用 react-native 和 amazon pinpoint 以编程方式发送推送通知?
- r - 使用自定义字典模糊匹配和替换数据框中的字符串
- android - Flutter:如何使用 fcm 以编程方式发送推送通知
- ios - 如何快速在类之间发送数据?