重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
可以全部存储到服务器。然后服务器做一个队列,后台有个单独线程处理图片上传到七牛的任务,图片处理完成之后进行回调处理后续任务。
郏县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
前端显示处理中的类似字样,然后等待后台处理完成,前台页面再去进行修改。
你所谓的消耗时间是指多长?
如果你确定**这段程序在php允许的默认的30秒内,这段程序是完全可以执行完成,并顺序执行的。
如果你的这段耗时程序超过了30秒,基本上不好实现了,如果超过这个限定,php会报错退出。
如果大于30秒,你可以试试这样做:
php.ini中的:
max_execution_time = 30
这个30是指秒,有效的最大时间是1000秒,再不能大了,再大的话也只限定在1000秒;
改了这个参数再试试。如果还大于1000秒?那你的程序也是不合实际了,基本无法实现。
在后台执行,也就是cli模式。
去php安装目录找到php.exe这个文件,并且在命令行下执行它。具体方法去查手册或google:php cli模式。
不过你说的这个需求,用不用cli模式都无所谓。其实这只是个异步请求而已。
你说的A脚本在执行过程中给B脚本传输数据。其实可以使用http协议,然后POST或者GET参数来达到传数据的目的。
5楼给你的那个函数,其实就是放在A脚本中用来通过HTTP协议请求B脚本的一个函数。你可以在B文件中直接使用$HTTP_GET_VARS或$HTTP_POST_VARS来得到A脚本传过去的数据。
另外还可以使用CURL库来实现这种模拟http请求。
用 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); //半小时执行一次
}
可以
?php
exec(sprintf("%s %s 21 echo $! %s", $cmd, $outputfile, $pidfile));
?
调用$cmd命令,将输出重定向到$outputfile,不显示错误信息,同时将进程id输出到$pidfile。
你的问题有个难点
跳转到B后 B无法知道A有没有操作成功,当然也不知道刚插入的数据是什么?
那要知道有没有新数据的方法也不是没有
1.在B中使用心跳机制,去检查有没有新数据上来。有的话就显示。
2.用推的方式,也就是serverpush,有新数据通知B
解决了这个问题,其他问题都好解决,延迟插入写个队列就行。
不过你要实现这样的功能,不是PHP就可以办到的,要配合一些服务器技术和Shell才能完成