Javascript Ajax Php从服务器获取文件,如何检测文件是否打开
有这样的情况。 我在服务器中有许多文件(数据)。我使用Javascript Ajax Php从服务器获取文件,如何检测文件是否打开,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,有这样的情况。 我在服务器中有许多文件(数据)。我使用Ajax和php作为客户端浏览器从服务器获取数据 当一个人打开一个网站并从服务器访问一个文件时,同时,如果另一个人(用户)打开这个网站,我想找到一种方法来检测该文件是否打开,如果是这样,我可以加载另一个文件或只是阻止这个用户 我怎样才能做到这一点,任何建议都是感激的,谢谢你的时间 Ajax获取文件 load: function (url) { var _this = this; $.ajax({
Ajax
和php
作为客户端浏览器
从服务器获取数据
当一个人打开一个网站并从服务器访问一个文件时,同时,如果另一个人(用户)打开这个网站,我想找到一种方法来检测该文件是否打开,如果是这样,我可以加载另一个文件或只是阻止这个用户
我怎样才能做到这一点,任何建议都是感激的,谢谢你的时间
Ajax获取文件
load: function (url) {
var _this = this;
$.ajax({
type: "GET",
url: url,
dataType: "text",
success: function (json) {
if (typeof json == 'string' || json instanceof String) {
json = JSON.parse(json);
_this.parse(json);
}
}
});
},
您可以使用全局变量:
<?php
if($_GLOBAL["locked"]) {
header("HTTP/1.0 503 Service Unavailable");
exit(0);
} else {
$_GLOBAL["locked"]=true;
//send file
$_GLOBAL["locked"]=false;
exit(0);
}
?>
变量“locked”将在所有php文件中保持不变。可能重复@Siva.G否,这是不同的。实际上,我使用ajax获取文件。如何使用flock?他是用php打开文件的,staus是用php控制的。@yongnan php实际上并不关心/没有办法知道调用是ajax还是正常的;它们都是http请求,将以相同的方式处理。因此,它几乎是重复的:)有一种常见的非标准方法来识别ajax请求。许多JavaScript-ajax库都设置了http头:
X-request-With:XMLHttpRequest
。这方面没有国际标准,但这似乎是一个被广泛使用的惯例。谢谢,对不起,我错了。也许我没有很清楚地解释我的问题。所以如果我用羊群。当一个人打开网站时,他从php
获取数据,php
有一个独占锁和一个释放锁。那么在加载数据后,锁是否被释放?所以当另一个人来的时候,他也可以打开文件,对吗?因为加载完数据后,锁被释放了。谢谢,我仍然不知道如何解决这个问题。因为在发送文件后,锁被释放,所以其他人可以评估。信息技术实际上,第一个人可以在点击按钮后写回数据(使用ajax和php),此时他可以释放锁。可能吗?另一件事是我想锁定某个文件,如果有新人来,我可以给他另一个文件,如果他发现文件正在使用。