2019/12/17 PHP/Python/Java, 服务器技术 No Comments 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,... 继续阅读 »
2019/12/03 WEB前端 No Comments ajax获取Response Headers响应头信息 **ajax type HEAD获取Response Headers信息,ajax通过Response Headers头信息获取服务端时间** **常用场景:**基于服务器端标准时间做倒计时业务使用。 PS:常见开发人员使用本地时间做倒计时参考时间,在客户端时间不准确时会产生歧义或bug。 **示例如下:** ```javascript //jquery引用注意,ajax done需要1.5版本之后支持 $.ajax({ url: "//lab.fity.cn/time/time.gif", type: "HEAD" }).done(function(data, textStatus, jqXHR) { oncallback(jqXHR) }).fail(funct... 继续阅读 »
2019/11/28 WEB前端 No Comments IM语音消息amr文件web网页播放 #### 网页_h5页面播放amr音频编码文件 最近部门在迭代升级IM即时通讯工具过程中,规划新增语音发送,通过综合评估音频文件编码格式定为amr(amr格式文件体积很小,更有利于多端传输。微信语音格式也是该格式)。 音频文件编码格式确定后,主要是解决在网页端的播放(及录制)问题,通过对比选择使用:benz-amr-recorder组件支持amr文件的播放。 benz-amr-recorder:纯前端解码、播放、录音、编码 AMR 音频,无须服务器支持,基于 amr.js 和 RecorderJs。 **参考:** https://github.com/BenzLeung/benz-amr-recorder 注意:由于使用了 amr.js 做编码和解码,因此 js 文件(压... 继续阅读 »
2019/11/15 WEB前端 No Comments validate校验bootstrap-select无效问题_错误提示不隐藏消除问题 **解决jquery validate校验bootstrap-select、select2、selectpicker无效问题_错误提示不隐藏消除问题** ```javascript //解决validate校验bootstrap-select、select2、selectpicker无效问题_错误提示不实时动态隐藏消除问题 $("#user-add .selectpicker").change(function(){ $(this).valid(); }); $("#user-add").validate({ //ignore: ":hidden:not(select)",//解决select校验问题 ………… }); ``` 继续阅读 »
2019/09/25 WEB前端 No Comments uniapp小程序版本更新升级提示 在uni-app开发过程中,应用的版本更新是一个常见的需求。当开发者发布了新版本的小程序后,希望用户在下一次打开旧版小程序时能够收到更新提示,引导用户更新到最新版本。本文介绍了基于uniapp开发的微信小程序迭代更新版本后,用户使用小程序时提示其升级版本。 uniapp vue2代码如下: ```javascript onLaunch: function() { // console.log('App Launch') //微信小程序版本更新提示 const updateManager = uni.getUpdateManager() updateManager.onCheckForUpdate(function (res) { // 请求完新版本信息的... 继续阅读 »
2019/07/20 PHP/Python/Java No Comments 计算两个经纬度的距离/偏差米数_计算周边范围经纬度值 **计算两个经纬度的距离/偏差米数_计算周边范围经纬度值_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为地球半径。... 继续阅读 »
2018/09/26 PHP/Python/Java No Comments 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... 继续阅读 »
2018/08/05 WEB前端 No Comments ueditor图片宽度自适应_手机移动端 **ueditor上传图片宽度自适应,ueditor上传图片兼容手机移动端,ueditor上传图片宽度太宽滚动条问题解决** - 如果你引用的是ueditor.all.min.js文件在"+(c.iframeCssUrl前增加: img{max-width:100%} **示例:** ```javascript e=(ie&&browser.version 继续阅读 »
2018/05/27 PHP/Python/Java No Comments 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... 继续阅读 »
2018/05/20 WEB前端 No Comments AdmnIX前端网站后台管理模板框架 **AdmnIX**是一款基于Bootstrap的轻量级、响应式前端后台管理框架,采用了主流的左右两栏式布局,使用了Html5+CSS3等现代技术,提供诸多可重新组合的UI组件。同时,遵循极简体验、简单灵活、兼容性好、自适应触屏手机的原则,面向所有层次的前后端程序,帮助企业极大的提高工作效率,节省开发成本,提升品牌形象。始于2018年初,为敏捷WEB应用开发和简化企业应用开发而诞生。由于页面是利用业余时间出于兴趣进行整合,请勿对它的品质太过于苛求。 ![](https://felixway.cn/usr/uploads/2018/08/20180806033101.png) ![](https://felixway.cn/usr/uploads/2018/08/20180806033102.jpg... 继续阅读 »
2018/04/28 Nginx/Apache/Tomcat No Comments nginx防盗链(适用于图片与文件下载) **配置防盗链初衷是多为节约服务器带宽资源及简单对网站资源进行防盗。** ### 一、普通防盗链 ngx_http_referer_module模块:可根据header中的referer信息屏蔽某些请求对网站或应用的访问,可以起到禁止直接访问网站static files的作用(防盗链或保护文件)。 ``` location ~ ^/img/.*.(gif|jpg|jpeg|png|bmp|swf)$ { #valid_referers none blocked *.www.fity.cn *.test.com server_names ~\.google\. ~\.baidu\.; valid_referers *.www.fity.cn *.xsimple.cn server... 继续阅读 »
2018/04/28 Nginx/Apache/Tomcat No Comments http跳转https_设置指定目录不跳转nginx rewrite 今天遇到需求是在访问url网址需要实现部分路径不进行https跳转,之前nginx设置的是对全部http url进行301跳转到https协议,具体实现的nginx rewrite如下: ```c set $is_jump 0; if ( $request_uri ~ ^/post/.* ){ #如果url地址中包含post则不跳转 set $is_jump 1; } if ($is_jump = 0) { return 301 https://$server_name$request_uri; } ``` 继续阅读 »
2018/01/06 PHP/Python/Java No Comments 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函数。 继续阅读 »
2018/01/06 PHP/Python/Java No Comments 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** `... 继续阅读 »
2017/12/30 PHP/Python/Java, 随想/其他 No Comments 微信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机制实现的,在用户授权给公众号后... 继续阅读 »