我想有一个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
时,我在进入目录时看不到文本或文件的创建?
有人能指出我正确的方向吗
由于
答案 0 :(得分:0)
我注意到你写完之后永远不会调用fclose(“report.txt”)来关闭文件。这可能会导致问题。
您可以使用此函数调用来处理文件的打开,写入和关闭。
file_put_contents("report.txt",$report);
您可以尝试在上面的函数调用中替换“report.txt”,以防文件仍在内存中打开并且您无法访问它。