分类 PHP/Python/Java 下的文章

php解析获取word内容-phpword

**phpword试用说明,php解析word内容,php读取word内容,php获取word内容方法** ```php namespace app\controller; use app\BaseController; class Index extends BaseController { public function index(){ echo ' '; } public function wordtohtml(){ $file = request()->file('file'); $ext_name = strtolower(pathinfo($file->getOriginalNa...

继续阅读 »

钉钉注册回调常见问题解决_PHP环境

**基于官方开放平台提供的PHP Demo进行钉钉业务事件回调接口注册时常见问题及解决:** **1、注册业务事件回调接口请求参数配置说明** ```php call_back_tag:需要监听的事件类型,如:["bpms_task_change", "bpms_instance_change"] token:加解密需要用到的token,自定义 aes_key:数据加密密钥。用于回调数据的加密,长度固定为43个字符,从a-z, A-Z, 0-9共62个字符中选取,可以随机生成 url:接收事件回调的url,必须是公网可以访问的url地址 ``` **2、接收事件回调的url页面加解密配置说明-测试回调URL** ```php //企业内部应用开发可以忽略该项 define("CR...

继续阅读 »

tp6 GatewayWorker IM

##### thinkphp6使用gatewayworker开发IM,thinkphp6使用Workerman gateway_worker实现IM. ####说明: `1、本文调试基于centos、lnmp开发环境。` `2、thinkphp6多应用模式` `3、配置文件、事件回调文件更改后需要重启worker服务才会生效` ## 一、基础:了解GatewayWorker > GatewayWorker基于Workerman开发的一个项目框架,用于快速开发TCP长连接应用,例如app推送服务端、即时IM服务端、游戏服务端、物联网、智能家居等等 > GatewayWorker使用经典的Gateway和Worker进程模型。Gateway进程负责维持客户端连接,并转发客户端的数据给...

继续阅读 »

使用fastcgi_finish_request实现异步操作提高页面响应速度

当PHP运行在FastCGI模式时,PHP FPM提供了一个名为fastcgi_finish_request()的函数方法。 按照文档上的说法,此方法可以提高请求的处理速度,如果有些处理可以在页面生成完后再进行,就可以使用这个方法。如: **1、**用户注册后的短信发送 或 邮件发送 **2、**局部代码延迟执行 **3、**运行日志记录 等一些耗时操作可以转化为异步操作,示例: ```php header('Content-Type:application/json; charset=utf-8'); $result = []; $result = [ 'code' => 200, 'msg' => 'Success', 'data' => '页面输出展示的内容(用户可以看...

继续阅读 »

curl无输出_返回空白_返回77问题解决

最近php7.2.6实例下web业务curl突然无法正常使用或偶尔可用。经排查发现CURL请求时会抛出如下两类错误: - curl Problem with the SSL CA cert (path? access rights?) - 77 CURLE_SSL_CACERT_BADFILE 错误码 参考本站另外一篇文章《[PHP curl函数_解决curl返回空白问题](https://www.fity.cn/post/594.html "PHP curl函数_解决curl返回空白问题")》仍无法解决问题 ```json curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//禁止 cURL 验证对等证书 curl_setopt($ch,...

继续阅读 »

计算两个经纬度的距离/偏差米数_计算周边范围经纬度值

**计算两个经纬度的距离/偏差米数_计算周边范围经纬度值_PHP函数笔记** 计算经纬度距离,首先需要了解球面距离计算公示: ```php r*arccos(cos(lat1*pi()/180 )*cos(lat2*pi()/180)*cos(lng1*pi()/180 -lng2*pi()/180)+ sin(lat1*pi()/180 )*sin(lat2*pi()/180))r*arccos(cos(lat1*pi()/180 )*cos(lat2*pi()/180)*cos(lng1*pi()/180 -lng2*pi()/180)+ sin(lat1*pi()/180 )*sin(lat2*pi()/180)) ``` 其中,lat1,lng1是纬度\经度的弧度单位,r为地球半径。...

继续阅读 »

PHP Javabridge使用

##### 一、php如何调取java方法: php调用java的方法有Javabridge,也有rpc。php里调用java平台封装好的jar包里的class类和方法推荐使用php-java-bridge做桥接。 ##### 二、Javabridge工作原理: 通过服务端打开一个java的监听端口,php调用java时,将对应的方法调用转发给java的指定端口,由java执行完成后将结果返回给php。可以简单的理解php在这里扮演的角色是代理转发,把调用的类方法转交给后端java执行,是一种较为典型的代理模式。 ##### 三、使用步骤: **1、**服务端部署Apache/Nginx+PHP+JDK+Tomcat **2、**下载本文附件[Javabridge](https://w...

继续阅读 »

PHP一个数组按另一个数组顺序排序

##### PHP实现将一个数组按另一个数组顺序进行排序,PHP根据一个数组对另一个数组进行排序 ##### 顺序约束数据(20条): ```php $sort_list = array(20) { [0] => int(30702) [1] => int(30373) [2] => int(32110) [3] => int(32207) [4] => int(31923) [5] => int(1497) [6] => int(32003) [7] => int(30397) [8] => int(32086) [9] => int(31920) [10] => int(30795) [11] => int(3192...

继续阅读 »

php openssl_encrypt无填充注意点

**php openssl_encrypt OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING无填充加密失败或空白无输出问题:** 在ios/java(Android)加密选择无填充模式如果不足128字节的话,调用方法会自动填充至128字节再进行加密,但php跟java中没有统一的填充标准,所以openssl_encrypt并没有默认填充,openssl_encrypt加密对数据长度有要求(这个与钥模有关),从而导致加密失败,这就需要手动填充。可以使用php函数str_pad函数。

继续阅读 »

PHP7 AES加密解密函数_兼容ios/andriod/java对等加解密

**PHP7.0 7.1 7.2 7.3 AES对等加解密类 函数文件_兼容ios/andriod/java等** 由于新项目规划要求使用PHP7.2开发环境,但在部分新系统中仍需使用AES加解密方式交互调取早期系统数据,由于早期AES使用的是mcrypt_encrypt函数,但该函数在PHP新版本中已逐渐废弃,PHP新版本中使用openssl_encrypt取代mcrypt_encrypt。 于是重新基于PHP7编写一个新类,由于需兼容现有早期系统的AES加解密类(并存填充与无填充),所以该类中增添部分判断。在规划项目、技术及开发时,未来往事推荐你尽可能规范化、标准化、统一化,以尽可能规避持续的维护投入,提升有效开发时间。 **AES对等加密解密类文件:CBC模式 - PHP** `...

继续阅读 »

微信access_token说明及多业务统一调用方案

**普通access_token:** access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。 参考出处: https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html **关于网页授权access_token和普通access_token的区别** **1、**微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后...

继续阅读 »

tp_thinkphp_php检测上传图片中是否含脚本

#### 本文范例中是基于检测图片十六进制代码中是否包含``、`` 、``等脚本实现检测上传文件是否非法及包含木马脚本。 ```php class Upload { private static $image = null; private static $status = 0; private static $suffix = null; private static $imageType = array('.jpg', '.bmp','.gif','.png');  //允许的图片类型 private static $message = array(  //文件上传错误信息 '0' => '没有错误发生...

继续阅读 »

百度主动推送API程序代码(PHP版)

**百度自动推送代码(PHP版)** ```php $url = 'https://www.xxx.com'; // 你的网站URL地址 $token = '资源秘钥'; //在搜索资源平台申请的推送用的准入密钥,ziyuan.baidu.com普通收录-修改准入密钥查看token // 百度收录推送API链接地址 $api = "http://data.zz.baidu.com/urls?site=$url&token=$token"; // baidu文章收录推送 echo '百度收录自动推送:'; $file_path = "/news/{$id}.html"; //生成的新闻静态路径 $urls = array($url . $file_path,); //获取新闻推送地址...

继续阅读 »

Python3.6 urllib获取网页html函数

### Python3.6 urllib获取网页内容函数 ```python ''' 获取网页html内容函数 @param str url 获取目标url地址 @param list post_data 页面post请求数组参数(get请求忽略) @return str html ''' def get_page_html(url,post_data={}): headers = { 'Accept': 'application/json, text/plain, */*', #'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9,e...

继续阅读 »