首页 > 解决方案 > 使用 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 从客户端传递它。

谢谢。

标签: javascriptphpfileserversave

解决方案


推荐阅读