Сохранение файла на сервере с использованием PHP и JS? - PullRequest
0 голосов
/ 01 марта 2020

Я пробовал это в течение нескольких часов, гуглял вокруг и пробовал несколько подходов. Код так прост, я не понимаю, почему он не работает. Я использую бесплатный хостинг 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 код (сохранить. php)

<?php
file_put_contents('data.txt', file_get_contents('php://input'));
?>

У меня также был этот код ниже, но он только создавал пустой файл и не добавлял к нему никакого текста:

index.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);
}

save. php

<?php
$post_data = $_POST['datastr'];
$f = fopen("data.txt", "w+");
fwrite($f, $post_data);
fclose($f);
?>

Есть предложения, почему это может не сработать? Все, о чем я могу думать, это о том, что сервер не поддерживает его или что-то в этом роде, однако я могу заставить его работать нормально, если я укажу переменную в файле php и с помощью запроса GET просто отправлю переменную. Однако данные будут динамическими c, поэтому мне нужно передать их со стороны клиента, используя js.

Спасибо.

...