
PHP基础
嗨皮螃
喜欢软件,喜欢创造
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PHP实现bmp图片转jpg图片,解决excel上传携带bmp图片导致图片无法保存问题
在做PHPExcel导入功能时,调用 vendor\topthink\think-image\src\Image.php 类打开图片,图片报错说找不到 imagecreatefrombmp方法,查看了一下Image源码,发现是调用一个公共方法,这个方法也确实不存在原创 2022-06-22 10:59:23 · 243 阅读 · 0 评论 -
正常用PHPExcel导入表格时出现内存溢出
用PHPExcel导入表格时出现内存溢出,排查了很久的原因,最终是因为测试是使用的wps编辑excel导入失败用office编辑excel正常导入。phpexcel导入内存溢出问题修改方法:将:PHPExcel_IOFactory::load($file)修改成:$objReader=PHPExcel_IOFactory::createReader('Excel2007');$objReader->setReadDataOnly(true);//使用文件流读取文...原创 2021-08-17 14:51:21 · 1723 阅读 · 1 评论 -
PHP非常驻内存下的异步
在使用非常驻内存的PHP项目时,偶尔会有需要异步执行的逻辑,一般方法是使用定时请求某个url,但总有一些情况下无法固定时间去执行,太过于频繁执行又会浪费内存。这个时候可以用PHP代码进行url请求异步执行的逻辑...原创 2021-06-12 10:19:11 · 158 阅读 · 2 评论 -
使用memcache 替代 session
if (!function_exists('sso_session_id')) { $sso_session_id = null; /** * 设置全局遍历$sso_session_id 作为 session_id的值 * * @param string $id * @return void * @Description * @example * @author HappyCrab * @since .原创 2021-02-03 10:32:28 · 162 阅读 · 0 评论 -
身份证号判断和年龄计算
根据身份证号实时计算年龄/** 根据身份证号码获取年龄* inupt $code = 完整的身份证号* return $age : 年龄 三位数 如023*/function ageVerification($code){ $age_time = strtotime(substr($code, 6, 8)); if ($age_time === false) { return false; } list($y1,$m1,$d1) = e原创 2021-02-01 09:57:17 · 1363 阅读 · 0 评论 -
超好用的无限极分类树代码
function tree($items, $pid = "pid") { $map = []; $tree = []; foreach ($items as &$it) { $map[$it['id']] = &$it; } foreach ($items as &$it) { $parent = &$map[$it[$pid]]...原创 2020-12-26 11:40:43 · 169 阅读 · 0 评论 -
单点登录 打开新窗口 解决跨域 的 另类方案
单点登录是要求多域名 下共用一套登录的逻辑和数据,这个时候肯定会出现跨域问题刚开始解决这个问题的方法是 用window.open打开的新窗口进行等待用户登录操作,原窗口进行 ajax轮询服务端接口 判断用户是否已登录。单点登录 并且不影响原界面的逻辑是实现了,但是要ajax轮询请求。(还有一种方案就是 可以通过爬取 第三方登录页面的二维码进行登录,但是这种方案逻辑太过于繁琐,而且针对不同平台的登录 都要单独写逻辑,所以不适用)在实现了功能后 跨平台、不影响原界面 的单点登录功能后,决定优化一下,假如原创 2020-10-27 17:36:54 · 1295 阅读 · 0 评论 -
PHP pcntl(进程) 文档
PCNTL 函数pcntl_alarm— 为进程设置一个alarm闹钟信号 pcntl_async_signals—启用/禁用异步信号处理或返回旧设置 pcntl_errno—别名pcntl_get_last_error pcntl_exec— 在当前进程空间执行指定程序 pcntl_fork— 在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程 号,而子进程...原创 2020-10-27 15:35:54 · 185 阅读 · 0 评论 -
PHP stream(流) 文档
php_user_filter— php_user_filter类 php_user_filter :: filter—应用过滤器时调用 php_user_filter :: onClose—关闭过滤器时调用 php_user_filter :: onCreate—创建过滤器时调用 streamWrapper— streamWrapper类 streamWrapper :: __ construct—构造一个新的流包装器 streamWrapper :: __ destru...原创 2020-10-27 15:35:47 · 545 阅读 · 0 评论 -
ThinkPHP5.1 框架下自带日志功能详解及远程调试
日志配置 usethink\facade\Log;Log::init([//日志记录方式,支持filesocket或者自定义驱动类'type'=>'File',//日志保存目录'path'=>"../logs/$dir/",//单个日志文件的大小限制,超过后会自动记录到第二个文件'file_size'=>2097152...原创 2020-10-14 18:49:08 · 4417 阅读 · 0 评论 -
IOS通过H5定制唤醒支付宝APP进行支付
IOS唤醒支付宝APP的协议和安卓稍有区别,需要整个json数据进行urlencode来拼接到协议url内在IOS内,QQ浏览器和其他浏览器有区别,需要另外的支付宝唤醒url//唤起客户端快捷参数var data = {"requestType":"SafePay","fromAppUrlScheme":"alipays","dataString":"h5_route_token=\"RZ41QkLuzjZPgEfvTaAM2Vses2JgbtmobilecashierRZ41\"&is原创 2020-10-12 11:17:57 · 10563 阅读 · 2 评论 -
支付宝H5支付实现 绕过浏览器白名单
在开发支付宝H5支付的时候,遇到了一个很尴尬的问题,无法唤起支付宝APP问题分析:当前浏览器不在支付宝配置的白名单内市场上的浏览器太多,总有用户会使用不一样的浏览器,就UC浏览器来说,不同版本也有出现不能唤醒支付宝APP来进行支付的时候。如何解决成了我当下的问题。H5支付唤醒APP,本质上就是通过访问相关协议来达成的。支付宝支付的唤醒协议是 :alipays://platformapi/startApp?appId=20000125&orderSuffix=h5_route_token%原创 2020-08-27 18:51:59 · 22985 阅读 · 2 评论 -
微信H5支付唤醒微信APP报【系统繁忙,请稍后再试】
微信H5开发过程中遇到了个和闹心的bug,微信社区文档都也没有找打相关bug的原因经过上上下下仔仔细细的排查,最后发现唤醒微信APP的参数缺少值,对比正常唤醒微信APP的url格式,确定是参数问题正确唤醒的url:错误唤醒的url:凭直觉猜测肯定是唤醒的url这玩意出问题了唤醒微信APP的url是跳转到微信网页后唤醒的,属于微信自发的url,所以是在上一级的url开始出错,查找代码上的url,打印出来没有问题,那就是执行的时候可能出了问题:检查被执行的url,发现&原创 2020-08-11 13:42:18 · 3641 阅读 · 2 评论 -
AES加密解密
在编写代码过程中,总少不了加密解密,尤其是比较重要的数据需要多个端传递数据的时候,经过本人测试,在js、php、c++直接可以互相传递密文的方法就是aes,在php和js直接传递密文可能会出现解密失败的情况,需要调整 密钥值和偏移量值PHP版代码// ssl加密function AES($data, $method = 'aes-128-cbc'){ // 公钥明文 // $data = "特殊他"; $data['time'] = time(); $data原创 2020-06-08 18:46:33 · 1276 阅读 · 0 评论 -
微信扫码无刷新登录
前端(index.html):<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <t转载 2020-06-04 18:29:21 · 906 阅读 · 1 评论 -
TP框架提示页面修改
1,在config配置文件添加三个常量 return array( 'TMPL_ACTION_ERROR' => MODULE_PATH.'View/Public/error.html', // 默认错误跳转对应的模板文件 'TMPL_ACTION_SUCCESS' => MODULE_PATH.'View/Public/s...原创 2018-09-27 11:11:33 · 1271 阅读 · 0 评论 -
PHP常用函数总结
数学函数1.abs(): 求绝对值$abs = abs(-4.2); //4.2 数字绝对值数字2.ceil(): 进一法取整echo ceil(9.999); // 10 浮点数进一取整3.floor(): 舍去法取整 echo floor(9.999); // 9 浮点数直接舍去小数部分4.fmod(): 浮点数取余 $x = 5.7; $y...转载 2018-09-25 15:23:39 · 222 阅读 · 0 评论