作者buganini (霸格尼尼)
看板PHP
标题[闲聊] ignore_user_abort()
时间Sat May 19 05:41:35 2007
ignore_user_abort()
这函式似乎很少看到...
以前也没用过
但今天用上了
事情是这样发生的...
弄了一个空间
让人用FTP上传档案
Web部分,作档案浏览的介面
对於图档/视讯档,作缩图,并且视讯档会转成flv提供线上播放
作缩图和转flv都是<img src="thumb.php?file=...">
转档的动作都写在thumb.php里
用exec()执行外部程式
mencoder
ffmpeg
imagemagick
之类的
其中视讯档的缩图,是先用
mencoder转flv
再用ffmpeg从flv弄出jpg
但发现有的大一点的视讯档
图档会生不出来
去翻存那些转出来档案的资料夹
发现只有flv
原因是
转flv时转档转太久
timeout後(或完成前使用者离开这一页)browser放弃了,并告诉server不要档案了
然後这个php没执行完就被中断了
所以弄出jpg档的动作没做到
後来用以下两行解决
ignore_user_abort(true);
set_time_limit(0);
ignore_user_abort()可以让php不会被中断
於是一系列动作都会乖乖的执行完
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.122.162
※ 编辑: buganini 来自: 140.113.122.162 (05/19 05:43)
1F:推 foxzgerald:cool! 透过这函式应能写出类似 crontab 的功能喽? 05/19 10:30
2F:推 MrMarcus:以前做发较大量信件的时候也有用过这个函数,万一使用者 05/19 14:08
3F:→ MrMarcus:或者浏览器中断,发送动作还是会继续做完。 05/19 14:08
4F:推 kornelius:Cool! :) 05/19 18:34
5F:→ roga:这个函式超好用的 05/19 18:52