从ajax帖子的内容创建文件

时间:2014-10-26 15:51:19

标签: javascript php jquery ajax

我想有一个php脚本,可以根据ajax帖子的内容创建一个文件。文件名为report.txt

我有这个PHP脚本位于/var/www/copypaste.test/public_html/index.php

<?php

 header('Access-Control-Allow-Origin: *');
 $report = $_POST['report'];
 echo $report;

 $report_file = fopen("report.txt", "w");
 fwrite($report_file, $report);
?>

我现在有一个简单的ajax帖子,带有一些测试文本

 var text = 'test string';

 var formData = new FormData();
 formData.append('report', text);

 var ajax = jQuery.ajax({
  type: "POST",
  url: 'http://copypaste.test',
  data: formData,
  dataType: 'text',
  processData: false, 
  contentType: false,
    success: function(){ 
      console.log('success'); 
    },
    error: function() {
     console.log('error'); 
    } 
  });
 }

ajax帖子成功,因为我在响应中得到test string,这在我的控制台中

 readyState 4
 responseText "\ntest string"
 status  200
 statusText "OK"

当我转到http://copypaste.test时,我在进入目录时看不到文本或文件的创建?

有人能指出我正确的方向吗

由于

1 个答案:

答案 0 :(得分:0)

我注意到你写完之后永远不会调用fclose(“report.txt”)来关闭文件。这可能会导致问题。

您可以使用此函数调用来处理文件的打开,写入和关闭。

  file_put_contents("report.txt",$report);

您可以尝试在上面的函数调用中替换“report.txt”,以防文件仍在内存中打开并且您无法访问它。