多人用AJAX / PHP同时协同编辑文件?

时间:2017-09-24 15:30:52

标签: javascript php jquery html ajax

我正在为网站创建一个协作编辑器,就像Google Docs一样,但它是为编码和开发而构建的。我想允许多个用户同时编辑文件,并将他们的更改推送到服务器和查看该文件的其他人。我怎么能这样做?

我无法弄清楚如何在用户之间同步数据。我现在的代码如下:
JS中的AJAX:

function update(f, txt){
   $.ajax({
     type: 'POST',
     data: {text: txt, file: f},
     url: "save.php",
   });
}

save.php:

$file = $_POST['file'];
$contents = $_POST['text'];
file_put_contents(dirname(__FILE__) . "/preview" . "/" . $file,$contents);

1 个答案:

答案 0 :(得分:1)

您可以使用EventSource将数据从服务器流式传输到浏览器或WebSocket以将数据流式传输到服务器和服务器。也就是说,每个客户端都会连续收到文件流,例如参见How to read and echo file size of uploaded file being written at server in real time without blocking at both server and client?

plnkr提供实时共享选项,是开源的。考虑查找和阅读该应用程序的代码并调整您要实现的目标。