php
珩-琛
这个作者很懒,什么都没留下…
展开
-
PHP 二维数组根据某个字段排序
通过array_multisort 进行数组字段排序这里也是本篇主要要说的。官网对array_multisort函数的解释:对多个数组或多维数组进行排序boolarray_multisort(array$ar1[,mixed$arg[,mixed$...[,array$...]]] )成功时返回TRUE, 或者在失败时返回FALSE.array_multisort()可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。关联(stri...原创 2022-04-06 16:19:56 · 1817 阅读 · 0 评论 -
单点登录SSO:图示和讲解
时序图绘出的所有服务端步骤,都在代码中逐一标注对应,跟踪调试代码就能两相对照,深入理解流程;跨域Web SSO的核心在于写cookie、URL传参策略。其参与对象多、逻辑分支繁杂也难倒很多人。所见的其它教程图示往往对cookie和传参语焉不详,让人初看简单明了、细想很困惑。我做的时序图详细展现了这些关键细节。话不多说,先上图吧。一 示例运行效果动画图一 百宝门跨域Web SSO方案演示二 跨域Web SSO时序图会比其它单点登录教程暴露更多比较重要的细节,没基础初看可能会晕。请先转载 2020-09-28 11:07:03 · 927 阅读 · 0 评论 -
php 导出Excel文件代码(无需任何引入文件)
<?php //输出的文件类型为excel header("Content-type:application/vnd.ms-excel"); //提示下载 header("Content-Disposition:attachement;filename=Haoyunyun_".date("Ymd").".xls"); //报表数据 $ReportArr = array(array(1,2,3,4,5), array('A','B',.原创 2020-07-24 14:03:13 · 336 阅读 · 2 评论 -
介绍Laravel十个重要的用法
1. 在find方法中指定属性User::find(1, ['name', 'email']);User::findOrFail(1, ['name', 'email']);2.Clone一个Model用replicate方法可以克隆一个Model$user = User::find(1);$newUser = $user->replicate();$newUser->save();3. 判断两个Model是否相同检查两个Model的ID是否相同用is方法.原创 2020-06-22 10:27:52 · 572 阅读 · 0 评论 -
Thinkphp 连接多个数据库
今天开发项目的时候发现需要跨库做数据查询,所以查了连接过多个数据库的方法,现在分享出来给大家看一下:第一种方法:模型实例化指定连接查询的时候发现,使用M方法直接连接也可以如下:新版支持在实例化模型的时候指定数据库连接,例如:$User = new Model('User','think_','mysql://root:1234@localhost/thinkphp');或者使用...原创 2019-03-22 14:28:58 · 3048 阅读 · 0 评论 -
LNMP一键重启服务(Nginx,PHP-fpm,Mysql)
LNMP框架一键启动:对于unix系统手动安装(非一键安装)LNMP框架来说,一键启动是非常有必要的。服务命令有: "Usage: lnmp {start|stop|reload|restart|kill|status|allrestart}"启动服务分为:1、启动nginx;2、启动mysql3、启动php-fpm4、启动其它的服务。直接上代码:请把文件放于/usr/...原创 2019-01-14 18:17:51 · 3501 阅读 · 0 评论 -
PHP内存管理 垃圾回收
概述1) 操作系统直接管理着内存,所以操作系统也需要进行内存管理,计算机中通常都有内存管理单元(MMU) 用于处理CPU对内存的访问。2) 应用程序无法直接调用物理内存, 只能向系统申请内存。向操作系统申请内存空间会引发系统调用。系统调用会将CPU从用户态切换到内核。为了减少系统调用开销。通常在用户态进行内存管理。 申请大块内存备用。使用完的内存不马上释放,将内存复用,避免多次内存申请和...转载 2019-01-03 14:34:27 · 134 阅读 · 0 评论 -
php验证码类(分享)
//验证码类class ValidateCode { private $charset = 'abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789';//随机因子 private $code;//验证码 private $codelen = 4;//验证码长度 private $width = 130;//宽度 private $...转载 2019-01-07 18:02:27 · 911 阅读 · 0 评论 -
PHP中exit()与die()的区别
先思考一个问题:如下代码会向页面显示什么?<?phpdie(123);?>曾经有段时间我一直认为 页面会显示 123,但实践结果告诉我,答案错了,页面一片空白!一直不知道为什么,死活不输出123,为了让页面输出123,我把它修改为如下代码:<?phpecho '123';die();?>网上的一段资料:PHP中exit()与die(...转载 2019-01-07 17:55:32 · 2662 阅读 · 1 评论 -
PHP5中魔术方法函数和魔法常量有哪几个,请举例说明各自的用法
魔术函数1、__construct()实例化对象时被调用,当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。<?php class Test { public function __construct() { echo "__construct <br>"; } publ...原创 2019-01-07 17:38:59 · 295 阅读 · 0 评论 -
如何在命令行下运行php脚本以及传递参数
在命令行下运行脚本:window下,假设php安装目录为c:\program files\php5\,那么使用命令窗口进入到该路径下,敲入php hello.php回车,则会执行当前路径下的hello.php文件,如果要指向其他路径下php文件,可以在php 路径/hello.php ,这种形式称为CLI模式,我们平时通过浏览器看到的那种称为CGI模式,至于传递参数,php文件在cli模式下,...转载 2019-01-03 11:59:22 · 258 阅读 · 0 评论 -
PHP自动加载autoload和命名空间 namespace 及导入 use 的用法
最近在研究别人项目的时候,看到了namespace 及use的使用,一头雾水,所以查了不少资料,做如下几个总结;命名空间:命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。需要注意的是: 命名空间的命名方式需要和文件夹文件名称对应;使用namespace的目的:团队合作项目时,避免与团队其它成员新建的类发生冲突;个人...原创 2019-01-17 14:47:37 · 1630 阅读 · 0 评论 -
php 统计目录数和文件数
$dirn = 0; //目录数 $filen = 0; //文件数 //用来统计一个目录下的文件和目录的个数 function getdirnum($file) { global $dirn; global $filen; $dir = opendir($file); ...原创 2019-01-04 14:25:54 · 831 阅读 · 0 评论 -
PHP中怎样避免SQL注入漏洞和XSS跨站脚本攻击漏洞
漏洞危害: 黑客利用精心组织的SQL语句,通过Web表单注入的Web应用中,从而获取后台DB的访问与存取权限。获取相应的权限之后,可以对网页和数据库进行进一步的篡改、挂马和跳板攻击行为。防止SQL注入代码:主要是利用magic_quotes_gpc指令或它的搭挡addslashes()函数;如果要自己拼SQL语句,一定要自己再过滤一下【addslashes】,也不是直接就能过滤,还要考...原创 2018-12-29 15:50:56 · 2054 阅读 · 0 评论 -
php数组合并函数,array_merge, array_merge_recursive,+的区别
数组合并的常用函数 array_merge, array_merge_recursive,+$arr1 = array( 'a'=>1,);$arr2 = array( 'a'=>2,);//相同键,值后面的会覆盖前面的$arr3 = array_merge($arr1,$arr2);var_dump($arr3);//相同的键,值会...转载 2018-12-29 10:32:37 · 308 阅读 · 0 评论 -
lnmp1.5部署thinkphp踩过坑
1、开启phpinfo,修改php.ini文件,文件路径:/usr/local/php/etc/php.ini,CGI修复其路径以符合规范:#cgi.fix_pathinfo=0 修改为下行cgi.fix_pathinfo=1 2、虚拟主机中使用带pathinfo的配置文件,/usr/local/nginx/conf/nginxserver{#include...原创 2018-12-11 10:12:54 · 445 阅读 · 0 评论 -
PHP字符串url解析和实体转换
1、通过parse_url()解析url,并且返回其组成部分:<?php $str = 'http://www.zymseo.com/admin?uname=zym&pwd=123456'; echo '<pre>'; print_r(parse_url($str)); echo '<pre/>'; /* ...转载 2018-12-26 18:27:29 · 1946 阅读 · 0 评论 -
PHP闭包 function() use(){}作用
php的闭包(Closure)也就是匿名函数。是PHP5.3引入的。闭包的语法很简单,需要注意的关键字就只有use,use意思是连接闭包和外界变量。$func =function() use ($param) { }闭包的几个作用:减少foreach的循环的代码// 一个基本的购物车,包括一些已经添加的商品和每种商品的数量。 // 其中有一个方法用来计算购物车中所...转载 2018-09-13 11:56:25 · 1729 阅读 · 0 评论 -
PHP的反射类ReflectionClass、ReflectionMethod使用实例
PHP5 具有完整的反射API,添加对类、接口、函数、方法和扩展进行反向工程的能力。反射是什么?它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信息以及动态调用对象的方法的功能称为反射API。反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用。其用途如:自动加载插件,自动生成文...转载 2018-09-13 11:49:37 · 143 阅读 · 0 评论