Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 同时调用两个服务器端脚本?_Php_Javascript_Jquery_Applet - Fatal编程技术网

Php 同时调用两个服务器端脚本?

Php 同时调用两个服务器端脚本?,php,javascript,jquery,applet,Php,Javascript,Jquery,Applet,我正在使用一个上传程序applet,它将文件发送到php中的服务器端脚本。我想确保,如果用户在文件完成上传之前关闭页面,文件将从服务器上删除,因为它们无法正确处理 这个问题来自这样一个事实:我有一个站点试图同时调用两个服务器端脚本 如果在不运行uploader小程序的情况下关闭页面,则会使用 $(window).bind('beforeunload', function(){ $.post("cancel.php"); }); 但是,如果我运行uploader小程序,事件将不会触发,文

我正在使用一个上传程序applet,它将文件发送到php中的服务器端脚本。我想确保,如果用户在文件完成上传之前关闭页面,文件将从服务器上删除,因为它们无法正确处理

这个问题来自这样一个事实:我有一个站点试图同时调用两个服务器端脚本

如果在不运行uploader小程序的情况下关闭页面,则会使用

$(window).bind('beforeunload', function(){
    $.post("cancel.php");
});
但是,如果我运行uploader小程序,事件将不会触发,文件就放在服务器上。是否有方法停止上载脚本以允许取消脚本运行?如果没有,是否有办法在运行取消脚本和关闭窗口之前等待上载脚本停止

编辑:啊,用谷歌搜索你问题的答案的乐趣,却发现你关于堆栈溢出的问题在谷歌上最受欢迎


编辑2:因此,在我的beforeunload事件中重新安排调用顺序后,我成功地能够在需要时调用所需的脚本。在尝试调用另一个脚本之前,我必须确保在小程序上调用了
cancel()

与其运行脚本动态删除文件,为什么不将校验和(可能是MD5校验和)传输到服务器并检查文件传输是否不完整

参考

这样,您就不需要依赖删除脚本所需的整个脚本(以及HTTP请求),而需要使用数据库对未检查的文件进行适当的索引


祝你好运

与其运行脚本动态删除文件,为什么不将校验和(可能是MD5校验和)传输到服务器并检查不完整的文件传输

参考

这样,您就不需要依赖删除脚本所需的整个脚本(以及HTTP请求),而需要使用数据库对未检查的文件进行适当的索引


祝你好运

只有在文件完全上传到
sys\u get\u temp\u dir()
文件夹后,PHP才会在上传文件时执行脚本。@Serjio澄清了发生的事情,但并没有解决我的问题。只有在文件完全上传到
sys\u get\u temp\u dir()文件夹后,PHP才会在上传文件时执行脚本
folder.@Serjio这澄清了发生的事情,但并不能解决我的问题。上传者可以一次获取多个文件,这意味着当用户关闭窗口时,一些文件将被完全上传。这不会处理这些文件。这是一个很好的解决方案,因为用户很容易破坏您的JavaScript代码并阻止其运行。@ScottM您不能为每个文件生成MD5求和吗?嗨,ScottM,您取每个文件的MD5求和,而不是每个会话,以确保文件传输成功。这样,集中任何不完整的文件都将是唯一受影响的文件。如何在客户端计算机上生成该文件的校验和?小程序可能可以,但他使用的是一个预先制作好的java小程序。javascript/html无法访问客户端计算机上的文件,即使用户在上载框中选择了该文件。除此之外,您什么时候检查校验和是否有效?如果文件尚未完成上载(仍在上载,未取消),校验和将不匹配。你需要检查上传是否完成,然后检查散列。上传者可以一次上传多个文件,这意味着当用户关闭窗口时,一些文件将被完全上传。这不会处理这些文件。这是一个很好的解决方案,因为用户很容易破坏您的JavaScript代码并阻止其运行。@ScottM您不能为每个文件生成MD5求和吗?嗨,ScottM,您取每个文件的MD5求和,而不是每个会话,以确保文件传输成功。这样,集中任何不完整的文件都将是唯一受影响的文件。如何在客户端计算机上生成该文件的校验和?小程序可能可以,但他使用的是一个预先制作好的java小程序。javascript/html无法访问客户端计算机上的文件,即使用户在上载框中选择了该文件。除此之外,您什么时候检查校验和是否有效?如果文件尚未完成上载(仍在上载,未取消),校验和将不匹配。您需要检查上传是否完成,然后检查散列。