簡體   English   中英

通過Javascript從PHP保存到服務器端文件

[英]Save to server side file from PHP via Javascript

我正在嘗試使用PHP將javascript文件中的json字符串保存到服務器上的本地文件中,但是我的json文件根本沒有被修改。 這是我的Javascript:

function saveToFile(data){
  jsonString = JSON.stringify(data);
  $.ajax({
    url: 'php/save.php',
    data : jsonString,
    type: 'POST'
  });
}

請注意,jsonString是有效變量,我可以將其正確登錄到控制台。

這是我的PHP:

<?php
  $data = $_POST['jsonString'];
  $f = fopen("../website-contents.json", "w") or die("fopen failed");
  fwrite($f, $data) or die("fwrite failed");
  fclose($f);
?>

請注意,即使是試圖將“ Hello World”保存到“ test.txt”的測試也無法正常工作,或者通過錯誤進行。

最后,這是我的文件夾結構: 在此處輸入圖片說明

這是您的解決方案。

js代碼

function saveToFile(data){
  jsonString = JSON.stringify(data);
  $.ajax({
    url: 'php/save.php',
    data : {'jsonString':jsonString},
    type: 'POST'
  });
}

PHP代碼。

$data = $_POST['jsonString'];
//set mode of file to writable.
chmod("../website-contents.json",0777);
$f = fopen("../website-contents.json", "w+") or die("fopen failed");
fwrite($f, $data);
fclose($f);

我同意指出您必須有權限問題的評論。 但是,也不能解決此問題后。 你有

$data = $_POST['jsonString'];

但是在哪里設置一個名為jsonString的鍵? 采用

function saveToFile(data){
  var jsonString = JSON.stringify(data);
  $.post("php/save.php", {
     jsonString: jsonString
  })
}

代替。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM