15

PHP时间戳和日期相互转换实例

PHP时间戳和日期相互转换实例,时间转换,日期转换,日期转时间戳,时间戳转日期,年月日带时间,日期时间

在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明。

1. php中时间转换函数

Continue reading

22

php的bc数学函数高精度计算示例

php的bc数学函数高精度计算

  • bcadd — 2个任意精度数字的加法计算
  • bcsub — 2个任意精度数字的减法
  • bcmul — 2个任意精度数字乘法计算
  • bcdiv — 2个任意精度的数字除法计算
  • bcmod — 对一个任意精度数字取模
  • bcpow — 任意精度数字的乘方
  • bccomp — 比较两个任意精度的数字
  • bcpowmod — 将一个任意的精度数提高到另一个精度,并按指定的模数减少
  • bcscale — 设置所有bc数学函数的默认小数点保留位数
  • bcsqrt — 任意精度数字的二次方根

php的bc数学函数高精度计算示例如下: Continue reading

06

PHP查看和修改图片MD5值

这是一个PHP语言修改图片MD5值的思路,只有客户问过这个问题,之后在网上查的。

我感觉应该还有别的思路,比如修改图片,为某个点加个1像素的水印,之后MD5值一定就会变了的。

Posted in PHP
17

PHP字符串(含中文)转二进制串代码

二进制转换,PHP字符串(含中文)转二进制串代码

代码解释: Continue reading

09

使用QueryList采集时报错提示cURL error 56: Recv failure: Connection was reset (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

使用QueryList采集时报错提示cURL error 56: Recv failure: Connection was reset (see http://curl.haxx.se/libcurl/c/libcurl-errors.html),QueryList报错,QL报错

被采集的网站HTTP协议是可以http访问也可以https访问,但是我采集地址是以http开头的,后来改为https,就正常了。

28

curl采集设置CURLOPT_FOLLOWLOCATION不起作用的解决办法

curl采集设置CURLOPT_FOLLOWLOCATION不起作用的解决办法

curl抓取页面时,如果页面会发生301,302跳转,则需要对curl进行参数设置。

CURLOPT_FOLLOWLOCATION即表示自动进行跳转抓取,CURLOPT_MAXREDIRS表示最多允许跳转多少次。

不过在使用时需要注意:CURLOPT_FOLLOWLOCATION需要在安全模式关闭未设置open_basedir的情况下才能使用。open_basedir是php.ini中的一项设置,功能是将用户可操作的文件限制在某目录下。

如果开户了安全模式,或者设置了open_basedir,则无法使用自动跳转抓取,此时可以采用连续抓取的办法来抓取最终页面。为加快速度和减少不必要的开销,可以在中间非目标页面的抓取过程中使用: Continue reading

28

PHP采集HTML后中文乱码,转换编码为UTF-8的方法

HTML字符集是CP936转UTF-8,GB2312转UTF-8,GBK转UTF-8,PHP采集HTML后中文乱码,转换编码为UTF-8的方法

这个任务最初是使用QueryList插件来采集分析页面的,但是后来发现采集入库的数据中有乱码,查看分析了一下,全部是源页面字符集为非utf-8的页面,那么就利用QueryList自有的方法来转码。

QueryList官方文档 中介绍,使用encoding('UTF-8','GB2312')方法可以解决,但是实际情况是页面字符集多种多样,刚才测试了三个网站三种编码,CP936,EUC-CN,GBK,真是玩死朕了。那么官方还说如果还是不能解决乱码问题就把removeHead()函数也挂上,没挂之前我感觉它应该是不好使,那也要试一下才能真正的确定啊,试了一下,结果确实还是乱码。

QueryList有时有点诡异,采集时有时会缺内容,不知所以然。 Continue reading

16

一个小改造实现织梦列表页、内容页获取当前页面链接

做织梦系统的MIP开发改造时,需要实现获取当前列表页和内容页的链接,在网上找了一会,看有没有成品代码可抄,找来找去,都是不如意的,还有一些也实现不了。

花一会功夫,还是自己写一个吧,找代码比写代码用时还长呢。

把代码加到 /include/helpers/extend.helper.php 文件最后。

经实际应用的项目是全站静态页面的环境,其它环境(如果动态页面,或者是伪静态页面)未测试,使用时请注意观察。如果有问题需要帮助的话,可以联系我。 Continue reading

14

ThinkPHP5.1门面(Facade.php)

门面(Facade
门面为容器中的类提供了一个静态调用接口,相比于传统的静态方法调用, 带来了更好的可测试性和扩展性,你可以为任何的非静态类库定义一个facade类。
例:
1.定义一个Test类 –> 有一个hello动态方法

2.接下来,我们给这个类定义一个静态代理类app\facade\Test(这个类名不一定要和Test类一致,但通常为了便于管理,建议保持名称统一)。 Continue reading