如何离线执行php任务
直接上代码,主要函数
ignore_user_abort(true);
这个函数忽略了终端被关闭(打开的网页被关闭),后面
getfiles()这函数是执行采集任务的自定义函数,后面又配置了下路径
打开写好的页面,关闭,后面发现任务都能执行完成,有兴趣的可以试试。
代码如下 | 复制代码 |
<?php //设置忽略是否关闭终端窗口 ignore_user_abort(true); ini_set('max_execution_time','0'); //采集页面函数,看不懂执行百度curl php functiongetfiles($url,$name){ $name=$name.".txt"; $ch= curl_init("$url"); $fp=fopen("$name","w"); curl_setopt($ch, CURLOPT_FILE,$fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); sleep(5); echo'<script>window.close();</script>'; } //配置需要采集的页面路径数组 $urls=array( 'http://www.cnblogs.com/jianqingwang/p/6373168.html', 'http://www.cnblogs.com/jianqingwang/p/6148644.html', 'http://www.61916.com/news_view_2423.html', 'http://blog.sina.com.cn/s/blog_8e326c350102w1ah.html', 'http://www.w3school.com.cn/php/func_misc_ignore_user_abort.asp', 'http://xinwen.eastday.com/a/170219205305597.html', 'http://society.huanqiu.com/article/2017-02/10162630.html?from=bdwz', 'http://www.cankaoxiaoxi.com/roll10/bd/20170220/1699670.shtml', 'http://news.china.com/socialgd/10000169/20170220/30266284.html', 'http://news.k618.cn/society/201702/t20170220_10368740.html', 'http://fj.qq.com/a/20170218/029521.htm' ); //遍历数组 foreach($urlsas$key=>$val){ getfiles($val,$key); } ?> |
本文主要讲述:在thinkphp框架中,如何获取微信分享接口权限、如何设置安全域名、如何修改微信分享标题、修改微信分享描述、修改微信分享图片、如何定制微信分享内容。
修改后的示例:http://games.zixuephp.cn
下面是修改微信分享标题、微信分享描述、微信分享图片和不修改的效果对比图:
没有修改的微信分享效果图:其中分享内容是分享的页面的url路径。
修改过微信分享内容的效果如下图:分享内容为自己定制的内容。
1、必要条件:认证过的公众号。
2、在微信公众号管理后台中,点击公众号设置,进入功能设置,选择JS接口安全域名,下载txt格式的认证文件放在网站根目录中,然后回到公众号后台管理页面,确定认证,填写有分享的站点的域名,保存即可。
3、下载微信jssdk接口文件包。下载地址:链接:http://pan.baidu.com/s/1eStCSXc 密码:1p8k
4、将微信jssdk接口文件包配置到thinkphp扩展目录中,即配置到thinkphp/Extend/Vendor/目录下。
5、从微信公众号后台获取微信公众号的appid和appsecret,并配置到thinkphp的配置文件中。
6、在thinkphp的common.php文件中定义好微信初始化函数:(下图案例中的参数应该是从配置文件中获取)
7、在需要使用到自定义微信分享内容的类文件中,定义好微信分享内容,然后传递到模板页面:
其中: 是自定义标题,brief是自定义的微信分享描述内容,picture是自定义微信分享图片路径, 是自定义分享内容被点击后指向的链接地址。
8、然后是在页面中引入js文件及使用配置参数:
小编推荐的这篇文章介绍了phpstudy默认不支持64位php的解决方法,非常实用,有兴趣的同学快来看看吧。备忘一下:
windows上用phpstudy比较简便,但是其默认的php所有版本都是32位的,有坑,比如int最大值。
所以从php官网 点击打开链接http://windows.php.net/download#php-7.0-nts-VC14-x64 , 下载一个64位的php7丢到phpstudy的php目录下面去(和其他版本一起的那个目录);
丢进去之后,把名字改短一点,停掉并重启phpstudy,会自动加载刚丢进去的php版本,切换过来即可。
我用的是nginx+php,其他类型如APACHE, IIS 等 未尝试
注意:PHP官网指出来了,只有7以上才支持64位,以前的都是32位的
x86_64 Builds
The x64 builds of PHP 5 for Windows are experimental, and do not provide 64-bit integer or large file support.
PHP 7 provides full 64-bit support. The x64 builds of PHP 7 support native 64-bit integers, LFS, 64-bit memory_limit and much more.
本文简单谈了php文件锁,对初学php的同学来说非常有用,大家可以看看锁机制之所以存在是因为并发导致的资源竞争,为了确保操作的有效性和完整性,可以通过锁机制将并发状态转换成串行状态。作为锁机制中的一种,PHP的文件锁也是为了应对资源竞争。假设一个应用场景,在存在较大并发的情况下,通过fwrite向文件尾部多次有序的写入数据,不加锁的情况下会发生什么?多次有序的写入操作相当于一个事务,我们此时需要保证这个事务的完整性。
如果我们有两个程序同时向某个文件中写入数据,为了保证数据的完整性,可以加一个文件锁,先让程序1执行,程序1执行完后,解锁,再让程序2执行。实现代码如下:
代码如下 | 复制代码 |
$fp=fopen('test.txt',"a"); $count= 10; if(flock($fp, LOCK_EX)) { for($i=1;$i<$count;$i++){ fwrite($fp,'text2_'.$i."rn"); echo"test2".date('h:i:s') . " "; sleep(1); echo"test2".date('h:i:s'); } flock($fp, LOCK_UN); }else{ echo"Couldn't lock the file !"; } fclose($fp); |
相关文章
- 这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
- PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
- 引发这个问题思考的是一段js程序的运行结果: 复制代码 代码如下: var i = 0; function a(){ for(i=0;i<20;i++){ } } function b(){ for(i=0;i<3;i++){ a(); } return i; } var Result = b(); 这段程序的运行结果是Re...2014-05-31
- index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
Java使用ScriptEngine动态执行代码(附Java几种动态执行代码比较)
这篇文章主要介绍了Java使用ScriptEngine动态执行代码,并且分享Java几种动态执行代码比较,需要的朋友可以参考下...2021-04-15PHP中func_get_args(),func_get_arg(),func_num_args()的区别
复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04- v-for标签可以用来遍历数组,将数组的每一个值绑定到相应的视图元素中去,下面这篇文章主要给大家介绍了关于在Vue.js中轻松解决v-for执行出错的三个方案,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。...2017-06-15
- 这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
- 这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
- 在本篇文章中给大家详细讲述了c#源码的执行过程,对此有需要的朋友们可以学习下。...2020-06-25
- 这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
- 这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31- 这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下...2016-07-29
- C#中利用ScriptControl动态执行JS和VBS脚本的实现方法,需要的朋友可以参考下...2020-06-25
- 本文主要介绍了4种延时执行的方法,主要包括Update计时器,Invoke,协程,DoTween,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-07-07
- 这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06
- 这篇文章主要为大家详细介绍了php构造方法中析构方法在继承中的表现,感兴趣的小伙伴们可以参考一下...2016-04-15
- 这篇文章主要介绍了PHP如何使用cURL实现Get和Post请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-11
- 今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。...2015-03-15