php
落笔映半海
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
thinkphp5.1 使用phpoffice/phpspreadsheet导出excel
PHPExcel已经被废弃在PHP7.2中已经无法获取更新,官方重新开了一个新包phpspreadsheetcomposer安装:电脑/服务器上安composer require phpoffice/phpspreadsheet 以下为后台PHP代码use PhpOffice\PhpSpreadsheet\Spreadsheet;use PhpOffice\PhpSprea...原创 2020-03-12 12:21:15 · 1887 阅读 · 0 评论 -
阿里云短信 大鱼 安装PHP SDK
如果在您的系统上全局安装Composer,您可以在项目目录中运行以下内容,将 Alibaba Cloud Client for PHP 添加为依赖项composer require alibabacloud/clientPHP方法:<?phpuse AlibabaCloud\Client\AlibabaCloud;use AlibabaCloud\Client...原创 2020-01-01 11:57:26 · 783 阅读 · 0 评论 -
mysql 实现查询结果的算术计算 并保留数字两位小数和tp5中表达式写法
SELECT t1.order_no, t1.create_time, t2.dealer_name, format( t1.total_price / 100, 2 ) AS total_price FROM `v_order` `t1` LEFT JOIN `v_dealer` `t2` ON `t1`.`did` = `t2`.`id` WHERE ( `t1`.`ord...原创 2019-12-07 10:58:36 · 986 阅读 · 0 评论 -
PhpStorm配置Xdebug最完整最详解教程
本教程主要应用于Windows,Mac和Linux基本上同理。配置xdebug扩展只配置Debug,不配置profiler和trace,profiler和trace干嘛的请百度。因为大多数情况下是单用户调试,所以不需要配置多用户参数,如:php.ini 文件 xdebug.idekey 参数和 PhpStorm的Debug -> DBGp Proxy 。所以php.in...转载 2019-12-06 10:37:44 · 462 阅读 · 0 评论 -
PhpStorm常用快捷键总结
以下是快捷键,并进行了分类。虽然快捷键是可以自定义的,但是还是推荐使用系统默认设置快捷键,因为不同编辑器默认的快捷键大同小异,比较符合用户习惯。PHPStorm查询快捷键设置快捷键,Ctrl+Alt+S打开设置,选择快捷键,你可以选择不同编辑器快捷键并应用,这相当于有很多套快捷键供你选择。以下是默认快捷键:写代码就用的快捷键Ctrl+ c 粘贴Ctrl+ v 复制Ctrl+ z ...转载 2019-12-03 14:43:40 · 426 阅读 · 0 评论 -
微信小程序调用【统一下单】、【支付】、【支付回调】api并处理请求
1、服务器端使用TP3.2处理(随便写在一个Controller里面)/* 小程序报名,生成订单 */ public function make_order(){ if(IS_POST){ $data['openid'] = I('POST.openid'); $data_total = I('POST.data_tot...转载 2018-09-05 15:55:44 · 1523 阅读 · 0 评论 -
PHP操作redis
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis支持的数据类型有 Stirng(字符串), List(列表), Hash(字典), Set(集合), Sorted Set(有序集合);redis版本是Redis 2.6.12 系统是在Windows+Apache2.4+php5.6连接:...转载 2018-08-02 18:07:22 · 171 阅读 · 0 评论 -
JWT 概念以及Cookie+Session解决的问题
什么是JTW? Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token...转载 2018-08-07 10:25:28 · 644 阅读 · 0 评论 -
高并发 高可用 图解
分享一组好图:常说的队列、异步并发、事物回滚、负载均衡 实际应用秒杀:站点层面的请求拦截1、将请求尽量拦截在系统上游2、充分利用缓存和请求限制服务层来拦截(反正就是不要让请求落到数据库上去)1、请求队列、限流业务规则上的一些优化1、将流量摊匀。 2、数据粒度的优化示例细节:参考https://blog.youkuaiyun.com/u013372487/ar...原创 2018-08-02 12:26:25 · 552 阅读 · 0 评论 -
约瑟夫环 的php解法
线性表应用最后这个算法最牛,哦,是这样的,每个猴子出列后,剩下的猴子又组成了另一个子问题。只是他们的编号变化了。第一个出列的猴子肯定是a[1]=m(mod)n(m/n的余数),他除去后剩下的猴子是a[1]+1,a[1]+2,…,n,1,2,…a[1]-2,a[1]-1,对应的新编号是1,2,3…n-1。设此时某个猴子的新编号是i,他原来的编号就是(i+a[1])%n。于是,这便形成了一个递归...转载 2018-07-31 13:57:56 · 792 阅读 · 0 评论 -
PHP使用GD2库画图,图像无法输出解决方法
使用php的GD2库绘制图像,在浏览器上输出可能会出现图像无法输出的情况,目前发现两个解决方法:在代码中添加ob_clean()函数,清空(擦掉)输出缓冲区。代码如下:<?php //用其他编辑器打开存储为utf-8 no bom ob_clean();/* 清空(擦掉)输出缓冲区,不加此行可能无法显示图像*/ $height=600; $width=600...转载 2018-07-26 10:38:20 · 616 阅读 · 0 评论 -
https 双向认证开发实践
双向认证的过程1-客户端请求服务端,2-服务器向客户端传送SSL协议的版本号,加密算法的种类等信息,将证书发给客户端3-客户端根据服务器传来的信息验证服务器的合法性4-客户端生成一个随机秘钥,用服务器传来的证书中的公钥进行加密,将加密后的结果传给服务器5-双向认证要求客户端将自己的证书传给服务器进行验证6-服务器验证客户端的信息简单来说就是客户端先验证服务器的证书 ,然...转载 2018-07-25 10:33:31 · 403 阅读 · 0 评论 -
PhpStorm 调用PHP和composer命令无效
在使用PhpStorm时,点击下面的terminal时,发现怎么输入调用PHP和composer命令无效,原因phpstorm与win10系统不兼容的问题解决方案:win+r打开控制器,鼠标右键标题栏,点击属性,选择选项标签,勾选使用旧版控制台(需要重新启动),然后重启phpstorm,重新打开terminal就可以正常输入使用了,如图: ...转载 2018-07-18 17:19:20 · 7101 阅读 · 0 评论 -
php数字补零的两种方法
php数字补零的两种方法在php中有两个函数——至少有两个是否有其他的我还不知道,能够实现数字补零,str_pad(),sprintf()详细如下str_pad顾名思义这个函数是针对字符串来说的这个可以对指定的字符串填补任何其它的字符串例如:str_pad(带填补的字符串,填补后的长度,填补字符串,填补位置)其中填补后的长度必须是个正整数,填补位置有三个选项,左边:STR_PA...转载 2018-09-10 16:23:30 · 561 阅读 · 0 评论 -
laravel获取数据表中所有的字段名
1、use Illuminate\Support\Facades\Schema;2、$columns = Schema::getColumnListing('admins');dd($columns);转载 2018-10-12 17:15:45 · 7882 阅读 · 0 评论 -
常见的几种web api 接口加密签名模式
1、最简单的 固态签名 sign = xxxxxx 的模式 ,通常配合time()时间戳传递,一般用来做为普通接口不涉及安全性的接口。2、动态签名 这种 常规的:1.请求参数:user_code :分配唯一标识,区分不同商户order_no :请求单号,多个逗号隔开。order_type: 请求单号类型: 0订单 号, 1运单号request_time:请求原创 2017-03-31 11:21:42 · 36501 阅读 · 1 评论 -
微信公众平台开发——微信授权登录(OAuth2.0)
1、OAuth2.0简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。 允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某...转载 2019-01-10 12:00:57 · 3281 阅读 · 0 评论 -
Laravel 结合 GatewayWorker 推送消息
一、简述GatewayWorker基于Workerman开发的一个项目框架,用于快速开发TCP长连接应用,例如app推送服务端、即时IM服务端、游戏服务端、物联网、智能家居等等GatewayWorker使用经典的Gateway和Worker进程模型。Gateway进程负责维持客户端连接,并转发客户端的数据给BusinessWorker进程处理,BusinessWorker进程负责处理...转载 2018-11-29 11:52:41 · 2392 阅读 · 0 评论 -
Websocket:看完让你彻底搞懂Websocket原理 即时消息通讯
http://goeasy.io/cn/pricing封装好的socket Web消息推送系统,便捷实现web端消息推送,原生的封装参考:https://blog.youkuaiyun.com/young_phper/article/details/52441143分割线----------------------------------------------------------------...转载 2017-06-01 10:32:13 · 16943 阅读 · 7 评论 -
Laravel处理OPTIONS请求的原理探索及跨域请求
Laravel处理OPTIONS请求的原理探索及批量处理方案实际使用方案:在web.php的路由中加入一段统一处理处理。//跨域Route::options('/{all}', function (Request $request) { $origin = $request->header('ORIGIN', '*'); // header("Access-Cont...转载 2018-10-22 17:57:34 · 4822 阅读 · 0 评论 -
Laravel Excel 在 Laravel 5.5 中集成
从而方便我们以优雅的、富有表现力的代码实现Excel/CSV文件的导入和导出。教学:https://laravelacademy.org/post/2024.html原文档:https://laravel-excel.maatwebsite.nl/2.1/getting-started/ 教学文档中安装因为官方出了3.0系列和2.0不兼容所以,LA5.5版本需要安装2.0系列使...原创 2018-10-10 16:00:36 · 299 阅读 · 0 评论 -
Laravel 数据库 聚合+Join 查找语句 学习笔记
在利用laravel处理数据库数据的时候 简单的聚合可以直接实现: 聚合# 查询构造器也提供各式各样的聚合方法,如 count, max, min, avg 及 sum。使用聚合方法#$users = DB::table('users')->count(); $price = DB::table('orders')->max('price'); $pr...转载 2018-10-10 14:13:36 · 539 阅读 · 0 评论 -
在 composer 下载需要的东西时候 需要auth token 验证 解决方案
在 composer 下载需要的东西时候 需要auth token 验证Authentication required (packagist.phpcomposer.com):需要提示用户名密码我的第一反应,这东西怎么这么先进了,还要这东西不过莫名其妙的是这个账号密码是啥东西我tm怎么知道啊 有用的回答:修改镜像源正解,如果不能翻墙的话可以试试这个:composer co...转载 2018-10-16 10:16:59 · 1806 阅读 · 0 评论 -
Nosql简介 Redis,Memchche,MongoDb的区别
一直在使用没做过概念性比较,这个比较直观。一、Nosql介绍1.Nosql简介2.Nosql的特点和关系型数据库的区别3.Redis,Memcache,MongoDb的特点与区别4.参考文章 Nosql介绍Nosql的全称是Not Only Sql,这个概念早起就有人提出,在09年的时候比较火。Nosql指的是非关系型数据库,而我们常用的都是关系型数据库。就像我们常用的my...转载 2018-07-24 09:13:21 · 234 阅读 · 1 评论 -
composer的初级使用
补上一篇文章的坑;要使用 composer 首先是要安装它;安装 composer 的前提要求是已经有 php 环境了;同时需要开启 openssl 和 fileinfo 扩展; 参考 phpstudy配置虚拟主机及开启扩展; mac或者linux系统直接执行下面的命令;php -r "copy('https://getcomposer.org/installer', 'compo...转载 2018-07-18 15:29:46 · 334 阅读 · 0 评论 -
①yum安装(快速)②Memcached编译安装安装流程(麻烦)
Memcache是一个高效的NoSQL数据库,PHP和Memcache的搭配使用,可以很好的应对更高负载的场景,可以大大降低MySQL数据库的压力。Memcache扩展的安装和Redis的安装大致一样。PHP的扩展都非常简单。1、PHP Memcache扩展下载地址:http://pecl.php.net/package/memcache1[转载 2017-02-22 13:59:59 · 507 阅读 · 0 评论 -
PHP循环遍历数组的3种方法list()、each()和while总结
while (list($key, $value) = each($list)) {} 写的性能高过foreach,转:http://www.jb51.net/article/57560.htm ①each()函数each()函数需要传递一个数组作为参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。键/值对被返回带有4个元素的关联和索引混合的数组,键名分别为转载 2017-04-20 18:04:18 · 3607 阅读 · 0 评论 -
基本函数Memcache中文手册——《Memcache中文手册》 php版
PHP操作Memcache基本函数Memcache模块提供了于Memcached方便的面向过程及面向对象的接口,Memcached是为了降低动态web应用从数据库加载数据而产生的一种常驻进程缓存产品。Memcache模块同时提供了一个session 处理器 (memcache)。下面PHP程序员雷雪松详细的讲解下PHP操作Memcache基本函数。Memcache — Me转载 2017-02-22 13:57:45 · 2712 阅读 · 0 评论 -
phpredis中文手册——《redis中文手册》 php版
目录(使用CTRL+F快速查找命令):KeyStringHashListSet键(Key)DELKEYSRANDOMKEYTTLEXISTSMOVERENAMERENAMENXTYPEEXPIREEXPIREATOBJECTPERSISTSORT字符串(String)转载 2017-02-22 10:39:26 · 751 阅读 · 0 评论 -
基于Laravel的API服务端架构代码
API服务端架构代码源码http://flc.ren/2016/08/549.htmlhttps://github.com/flc1125/Ap...部署说明现有API基于laravel框架开发,本次介绍也针对laravel。可根据文档自行调整,以适用其他框架下使用数据库相关执行如下SQL语句CREATE TABLE `prefix_apps` ( `i转载 2017-04-14 09:35:16 · 1964 阅读 · 0 评论 -
记:nginx服务器 php5.5.7升级php7过程和问题解决
①、服务器nginx 、php 、mysql都是安装好的,于是想直接升级php7.②按照文章:https://typecodes.com/web/centos7compilephp7.html?utm_source=tuicool&utm_medium=referral 进行操作,中途出现一些不一样的地方。③问题解决参考:http://blog.chinaunix.net/uid-2526转载 2017-04-12 11:45:27 · 8301 阅读 · 0 评论 -
小程序开发 图片上传,多文件上传。
小程序开发 图片上传,多文件上传。参考http://www.wxapp-union.com/portal.php?mod=view&aid=1213实际使用过程中,相对应的做了一些调整,用来提高用户体验度,递归外层增加状态判断,非正常用户 则不再递归减少请求/部分参数我就不抽出了,关键是看实现机制var app = getApp();var baseUrl = app.base转载 2017-03-16 15:08:29 · 8730 阅读 · 0 评论 -
一个经典的PHP文件上传类分享 使用心得
一、需求分析 要球自定义文件上传类,即在使用非常简便的前提下,又可以完成以下几项功能: ①支持单个文件上传。 ②支持多个文件上传。 ③可以自己指定上传文件的保存位置,可以设置上传文件允许的大小和类型,可以由系统对上传文件重新命名,又可以设置保留上传文件的原名。 (说明:要求单个文件上传和多个文件上传要采用同样的操作方式,对上传进行的一些设置也要采用相同的方式)。转载 2017-03-15 15:29:18 · 3051 阅读 · 0 评论 -
PHP特性整合 php7特性
PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来越好。 在这里整理 PHP 5.1 ,PHP5.2,PHP5.3,PHP5.4,PHP5.5,PHP5.6 ,PHP7,PHP7.1 所有新特性,已备大家学习及使用 PHP5.1~PHP5.6 http://blog.youkuaiyun.com/fenglailea/article/de转载 2017-04-10 16:45:17 · 1236 阅读 · 0 评论 -
PHP加密代码,加密扩展 (php-beast)常见问题解答
PHP加密扩展 (php-beast)常见问题解答一般只会加密php代码,其他的只会简单的复制,另外可以在ini中设置缓存大小1. 什么是php-beast?php-beast是一个PHP源码加密的模块,其使用DES算法加密,用户可以自定义加密的key来加密源代码,可以很好的保护你的代码。主要应用情景有:1) 代码放在虚拟主机上,有泄漏源码的危险。2) 商业转载 2017-03-31 10:36:17 · 3941 阅读 · 0 评论 -
html5 geolocation / 百度地图api Geolocation 定位当前城市信息&window.navigator.geolocation.getCurrentPosition,在IO
问题:原本使用的H5定位普通写法,今天忽然发现失效了。找到了这篇文章:完美解决window.navigator.geolocation.getCurrentPosition,在IOS10系统中无法定位问题http://blog.youkuaiyun.com/for12/article/details/52803787不过实际解决使用的是方面方法①;---------------转载 2017-05-23 17:41:31 · 5478 阅读 · 0 评论 -
【微信小程序】下拉加载多次请求的解决方案,避免用户多次发起请求降低业务处理。
方案一:小程序前端:做好请求判断,请求前:设置常量变为0 ,触发网络请求接口 常量变为 1,回调成功常量设置 0 ,每次请求前判断常量是否为 1,为1 即意味着上次请求回调没有接收到。防止多次请求。但是实际效果并不是很好。方案二:(针对所有的涉及到api前端请求问题)服务端:其实封装一个方法,在每次请求之前调用此方法,统一所有请求的入口,然后以API请求的地址,参数,请求类型(ge...原创 2017-04-24 14:33:56 · 7937 阅读 · 2 评论 -
Linux安装Redis-3.2.8流程和问题
这次安装的是比较新版本的3.2.8 官网http://redis.io/ 下载的。安装依赖包#yum install gcc gcc-c++ tcl -y PS:遇到的问题a、如果不安装tcl,后面make test的时候回报错,如下:cd src && make testmake[1]: Entering directory `/root/redis-3.0.3/s转载 2017-04-27 15:27:28 · 1266 阅读 · 0 评论 -
phpstudy配置虚拟主机及开启扩展
当我开始准备 laravel 系列的第一篇文章的时候;我忽然发现;我还得再写一篇文章做铺垫;在 windows 系统下开发 php;早些年我是用 wampserver2;后来因为 wamp2 的 php 是5.x版本;而我为了用 php 7;所以我就转投 xmapp 又用了一段时间;再后来 wamp3 有了 php7;我又回归了 wamp;如果喜欢用 wamp;那我这有2...转载 2018-07-18 15:24:50 · 6956 阅读 · 1 评论 -
图解phpstorm常用快捷键
图解phpstorm常用快捷键phpstorm13查询快捷键CTRL+N 查找类 Ctrl+Shift+J快捷键,所有多余的字符(空格,引号和加号)被去掉了CTRL+SHIFT+N 全局搜索文件 ,优先文件名匹配的文件CTRL+SHIFT+ALT+N 查找php类名/变量名 ,js方法名/变量名, css 选择器CIRL+B 找变量的来源,跳到变量...转载 2018-07-16 17:50:03 · 769 阅读 · 0 评论
分享