问一个关于客户端关闭页面后PHP执行情况的问题

chrishzb 2005-04-05 04:33:50
是不是客户端关闭了浏览器之后,服务器就不再执行之后的PHP流程?
有没有方法使得服务器执行完之后的代码?

例如以下程序节选是用来使服务器下载某指定URL 的资源($url) ,一共重试 $retry 次。
我发现现在问题是,
假如已经正在下载了, 那么就算关闭浏览器,服务器一样把文件下载完整。
如果还在尝试连接阶段,关闭了浏览器,那么服务器就不再重试连接了。
有方法在代码里使得服务器在客户端关闭了浏览器之后,
继续执行循环里面的语句,直至到完成吗?


--------------------part of the PHP code-------------------------------------------
$try_now=0;
while (($retry > $try_now) && (!$success)){
echo "正在第 $try_now 次尝试..<BR>";
if (($fd = @fopen($url, "r")) && ($fdd = @fopen($dir."/".$file1[$i], "w"))) {
echo "连接成功!正在下载....<a href=\"./\">点击这里浏览文件列表</a><BR>";
flush();
while (!@feof($fd)) {
fwrite($fdd, @fread($fd, 1024));
}
@fclose($fd);
@fclose($fdd);
$success=TRUE;
}
$try_now ++;
if (!$success){
echo "第 $try_now 次尝试失败, 等待 $delay 秒 ...<br>";
sleep($delay);
}
flush();
}
------------------------------------end-----------------------------------------
...全文
243 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
patchclass 2005-06-10
  • 打赏
  • 举报
回复
客户端关闭了浏览器之后,
继续执行循环里面的语句,直至到完成吗?
php里面好像不可能,因为没有定时器什么的

虽然 服务端随客户端关闭而终止。
这句话不完成正确,不过也差不多了
chrishzb 2005-06-10
  • 打赏
  • 举报
回复
这个话题是不是没有人有兴趣呢?
guiwenxing123 2005-06-10
  • 打赏
  • 举报
回复
欢迎加入PHP WAP QQ群8352641 大家一起交流,一起进步.共同发展
xuzuning 2005-06-10
  • 打赏
  • 举报
回复
是不是客户端关闭了浏览器之后,服务器就不再执行之后的PHP流程?
默认是的!不过php是在有输出(echo、print....)的时候才检查用户的连线状态的
因此在你的示例中会出现“假如已经正在下载了, 那么就算关闭浏览器,服务器一样把文件下载完整。”


有没有方法使得服务器执行完之后的代码?
有!具体做法见手册的第40章。由于浏览器已经关闭,程序调试比较困难
公亮 2005-06-10
  • 打赏
  • 举报
回复
可以加个JavaScript脚本
判断用户是否要关闭浏览器
如果关闭,则执行一个页面

在线电影网站这个是经常用到的
不过这个方法作用有限
coolstr 2005-06-10
  • 打赏
  • 举报
回复
楼上说的很形象,

水是不会流出来的。
vitalgg 2005-06-10
  • 打赏
  • 举报
回复
你把水龙头拧住了,水还会不会流出来?
chrishzb 2005-04-09
  • 打赏
  • 举报
回复
可以怎样“后台执行“啊?
entice 2005-04-07
  • 打赏
  • 举报
回复
后台执行就行了...
lostgdi731 2005-04-06
  • 打赏
  • 举报
回复
设计思路不对。
服务端随客户端关闭而终止。
chrishzb 2005-04-05
  • 打赏
  • 举报
回复
是啊, 我的意思就是有没有办法可以关闭了窗口继续执行完毕啊?
keaizhong 2005-04-05
  • 打赏
  • 举报
回复
哈哈!!不是吧。这是网页程序哦。 你关闭窗口等于中止程序。

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧