php中怎么实现后台执行??

php从文本读取大量数据插入数据库,怎么实现,后台执行,而不让浏览器继续等待,并且浏览器的页面可以正常跳转,实现php和浏览器的异步... php从文本读取大量数据插入数据库,怎么实现,后台执行,而不让浏览器继续等待,并且浏览器的页面可以正常跳转,实现php和浏览器的异步 展开
 我来答
低调的活着Zz
2013-09-11 · TA获得超过178个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:283万
展开全部

用  ajax 实现异步加载


然后 


i

gnore_user_abort(true); 
//即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. 
set_time_limit(0); 
while(1) { 
  $fp = fopen('time_task.txt',"a+"); 
  $str = date("Y-m-d h:i:s")."\n\r"; 
  fwrite($fp,$str); 
  fclose($fp); 
  sleep(5); //半小时执行一次 
}
追问
这个我试过,确实是可继续执行,但浏览器的页面不能跳转
追答
不能跳转是因为ajax 没有执行完 
可以用 abort(); 函数 强制中断ajax执行

具体信息 你可以搜索 jquery ajax 中断

我一般都用jquery ,原生的js 不太会写了
zmspu1
2013-09-11 · TA获得超过289个赞
知道小有建树答主
回答量:1425
采纳率:100%
帮助的人:966万
展开全部
提供一个思路,我是这么做的,写一个读取文件内容的模块
function rf($f,$sp){
//$f为文件路径,$sp为读取位置
.....
fseek($f,$sp);
//读取指定长度的内容
$content = fread($f,$len);
.....

return $nextsp //返回下次要处理的位置,如果到文件尾,就置 -1.
}
然后后台通过AJAX调用以上处理文件,如果返回值>0就继续调用,如果为-1就结束
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lreper
2013-09-11 · TA获得超过412个赞
知道小有建树答主
回答量:243
采纳率:100%
帮助的人:281万
展开全部
php想要直接异步挺难,对多线程支持也不好
一般可以另外弄个消息队列来处理任务,php端发送任务到消息队列
另外一个程序去队列中取任务完成
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yin85642036
2013-09-11 · 超过11用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:31万
展开全部
说的不够详细,PHP只是个代码 你说“实现PHP和浏览器异步??” 没明白你要表达什么
追问
当插入大量数据到数据库时,需要用很长时间,总不能让浏览器一直等待插入结束吧,就是让这个漫长的处理数据的过程,后台执行,浏览器正常跳转到其他页面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式