PHP
文章平均质量分 64
焚膏油以继晷,恒兀兀以穷年
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PHP的魔术方法
PHP魔术方法是以双下划线__开头的一组特殊方法,用于在对象生命周期、属性访问、方法调用等场景中实现自动化操作。简化面向对象编程。原创 2025-08-01 09:52:57 · 1048 阅读 · 0 评论 -
php 中使用exec显示报错
使用exec显示报错原创 2022-06-01 10:38:00 · 696 阅读 · 0 评论 -
PHP word转pdf
文章目录方法一、使用phpword和tcpdf1. 使用composer 安装 phpword和tcpdf2. 示例代码 (试例框架是laravel,以下文件默认是放置在public中)3. 中文乱码 - 设置字体方法二、使用unoconv将 word转pdf (Centos 8)1. 安装libreoffice2.安装 unoconv3.安装字体 (若转换的文件出现)4. 使用代码将文件转换总结方法一、使用phpword和tcpdf1. 使用composer 安装 phpword和tcpdf c原创 2022-04-15 12:53:24 · 4274 阅读 · 0 评论 -
谈谈PHP中的trait
谈谈PHP中的trait欢迎使用Markdown编辑器欢迎使用Markdown编辑器#wqwq11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111#2222212122222222222222222222222222222222222222原创 2021-03-05 16:16:29 · 480 阅读 · 0 评论 -
获取指定目录下的所有文件地址 【递归法】
实际目录内容<?phpclass Solution { public function forMl($dir){ $arr = []; $file_arr = scandir($dir); foreach($file_arr as $item){ if($item!='..'&&$item!='.'){ $new_dir = $dir.'\\'.$item; .原创 2021-02-22 14:15:31 · 300 阅读 · 0 评论 -
Laravel 队列的使用 (存储在database中)
php artisan job:队列文件名字php artisan job:table 队列表生成php artisan queue:work 运行队列队列表生成env文件设置 队列计入数据库中QUEUE_CONNECTION=databaseQUEUE_DRIVER=database队列文件handle中设置 队列操作数据...原创 2020-12-19 19:13:07 · 1058 阅读 · 0 评论 -
算法-母牛繁殖求N年后的总牛数量
有一母牛,到4岁可生育,每年一头,所生均是一样的母牛,到15岁绝育,不再能生,20岁死亡,问n年后有多少头牛解题思路:使用递归 每一头母牛都会按照上述规则 同样的规律使用每个个体,封装方法后递归调用/** * @param $int 年限 * @return int 最后的牛的总量 */function Countcows($years) { static $cows_num = 1; if($years<4) return 1; //牛在第四年之后才开.原创 2020-11-27 00:17:01 · 1112 阅读 · 0 评论 -
算法-二分快排
进一个数组,按照二分快排的规则,将他们的元素按照从小到大的顺序排序<?php function quickSort($arr){ $base = $arr[0]; $len = count($arr); if($len<=1){ //注意是<=1因为传进来的数组也有可能是空数组 return $arr; } $left_arr = []; $right_arr =原创 2020-11-26 17:23:51 · 390 阅读 · 0 评论 -
算法-冒泡递增
给一个数组使用冒泡的方式,将里面的元素顺序改为递增<?phpclass Solution { //冒泡排序 function maopao($arr){ $len = count($arr); for($j=0;$j<$len;$j++){ for($i=$len-1;$i>$j;$i--){ //此处的判断为$i>$j是因为$j为已经比较过的数据的下标,他们已经同别的数据进行过比较,确认是比别的元素小的值原创 2020-11-26 17:04:19 · 336 阅读 · 0 评论 -
PHP经典算法题目:选猴王
一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。<?phpclass Solution { function monkey($n,$m){ $arr = range(1,$n); $i=0; while(count($arr原创 2020-11-26 16:11:02 · 938 阅读 · 0 评论 -
二维数组根据某个字段进行排序:array_multisort 的使用
假設有如下數組:我们要根据年龄来排序首先拿到年级组成的数组:得到:使用array_multisort 进行排序:得到:原创 2020-04-28 19:58:27 · 3241 阅读 · 4 评论 -
Laravel: artisan的使用
使用artisan命令直接执行方法1.使用 php artisan make:Command 文件名字es:php artisan make:Command test然后创建文件<?phpnamespace App\Console\Commands;use Illuminate\Console\Command;class test extends Comm...原创 2019-12-19 17:04:23 · 520 阅读 · 0 评论 -
php中浮点数计算问题
做电商项目时遇见了计算积分的问题,69.6*1.9*200=26448,但得到的结果却是26447,查阅了解到计算机是二进制的,所以58在然看来就是57.9999... 自己使用得是floor() 函数向下取整,最后的结果就小了。 若有我们需要使用精确的数学函数,使用前我们需要先给PHP安装扩展包 php-bcmath,再重启Apacehe.如果用php的+-*/计算浮点数的时候,可能会遇到一些计...转载 2018-03-07 15:18:23 · 220 阅读 · 0 评论 -
PHP计算两个时间之间相差的时分秒
$startDateStr = strtotime($startDate);$endtDateStr = strtotime($endDate);$total = $endtDateStr-$startDateStr; //首先将两者转换成时间搓并相减$time = '剩余'.floor($total/86400).'天'.floor(($total%86400)/3600).'小时'.f原创 2018-02-07 11:32:45 · 2234 阅读 · 0 评论 -
windows安装redis 并给php添加redis扩展 [电脑64位]
有一个压缩包路径:https://download.youkuaiyun.com/download/linyunping/10314966解压打开启动redis,点击 redis-server.exe启动后是 :二:为php添加redis扩展 根据以下链接查找符合php版本的扩展 注意是否为线性(nts-表示否)redis: http://windows.php.net/...原创 2018-03-29 09:56:23 · 4510 阅读 · 0 评论 -
php获取当前在线人数
header('Content-type: text/html; charset=utf-8'); $online_log='count.txt';//保存在线人数数据的文件, if (!file_exists($online_log)) { mkdir($online_log, '0777');//linux下,某些文件缺少操作权限我们需要赋予操...原创 2018-05-16 14:09:50 · 2634 阅读 · 0 评论 -
物流查询:快递鸟
<?phpnamespace App\Common\Service;/** * * 快递鸟订阅推送2.0接口 * * @技术QQ群: 340378554 * @see: http://kdniao.com/api-follow * @copyright: 深圳市快金数据技术服务有限公司 * * ID和Key请到官网申请:http://kdniao.com/reg */...原创 2018-05-23 11:23:29 · 2053 阅读 · 0 评论 -
PHP bindTo和bind
从手册知道,Closure::bindTo — 复制当前闭包对象,绑定指定的$this对象和类作用域。 创建并返回一个 匿名函数, 它与当前对象的函数体相同、绑定了同样变量,但可以绑定不同的对象,也可以绑定新的类作用域。 从我个人理解,和js里面的call函数有点类似。可以改变闭包对象指定的作用域。 示例1:<?phpclass A{ function __const...转载 2018-05-28 16:25:09 · 2059 阅读 · 0 评论 -
php7新特性
PHP7自发布以来最受关注的是性能的提高,随着官方版本不断的升级和维护优化,php7版本逐步成熟,很多企业项目也已经逐步移植到PHP7上面,下面介绍下PHP7在语法方面新增了哪些特性。1: 标量类型声明 有两种模式: 强制 (默认) 和 严格模式。 // 定义一个函数, 参数和函数返回值必须为整型 function sun(int $num) { return $nu...转载 2018-05-28 16:28:33 · 471 阅读 · 0 评论 -
laravel 5.5 关闭token的方法
方法一:关闭掉选中的那一行 整个项目可全部关闭token 方法二:在middleware的verifyCsrfTkoen.php中添加函数方法 handle 可以在项目整个禁用token; 方法三:定义在 protected $except = [ '屏蔽掉不用提交token的路由'], 这个可以在项目屏蔽掉部分路由不用使用token,使用起来更灵活...原创 2018-07-18 14:34:14 · 2855 阅读 · 0 评论 -
PHP 对Redis的命令大全
PHP对redis操作详解【转】/*1.Connection*/$redis = new Redis();$redis->connect('127.0.0.1',6379,1);//短链接,本地host,端口为6379,超过1秒放弃链接$redis->open('127.0.0.1',6379,1);//短链接(同上)$redis->pconnect('127.0.0...转载 2018-08-26 19:22:27 · 1369 阅读 · 0 评论 -
dump,var_dump,print_r,于print,echo的区别
一。 print_r,dump,var_dump$data['cc']=12;$data['aa']='12';$data['zz']=12.3;$data['bb']=['c'=>'1','a'=>'2'];print_r打印:var_dump打印:dump二。echo,print首先echo 和 print 都不是严格意义上的函数,...原创 2019-04-08 19:41:13 · 342 阅读 · 0 评论 -
PHP控制连接打印机
一、需求使用PHP控制连接打印机 现场实时连续打印动态数据二、配置php运行环境正确安装(Apache|Nginx + PHP) 下载与php版本对应的php_printer.dll扩展 扩展文件添加到ext目录 编辑php.ini 添加extension=php_printer.dll;三、使用1.基本的代码结构:<?php$handle = prin...转载 2019-04-12 11:13:41 · 5766 阅读 · 1 评论 -
tp5 如何在输入路径时忽略index.php 在nginx下
打开你的配置文件找到写着你配置的域名下的server1. nginx下 root 只用指到项目所在目录就可以了,不用只到public下在location中加入 if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; }2. 在Ng...原创 2019-05-30 10:31:16 · 1382 阅读 · 0 评论 -
构造函数里面想返回复杂的数据时无法实现怎么办?
我们应该先明白构造函数(__construct)的用途,她是在每次执行你的函数之前先调用一次,所有你表面看起来是直接访问的方法A 但其实在访问你的方法A之前他会先访问一次构造函数,所有这个函数通常被我们用在验证阶段,比如验证该用户是否登录。但在验证时,若未登录,构造函数中使用return 却没有被返回,反而是echo 能够返回,且大多数return情况下我们是希望程序停止往下执行,但是re...原创 2019-06-13 14:25:29 · 251 阅读 · 0 评论 -
unicode和中文字符的互相转换
<?php//中文转unicodefunction unicode_encode($name){ $name = iconv('UTF-8', 'UCS-2', $name); $len = strlen($name); $str = ''; for ($i = 0; $i < $len - 1; $i = $i + 2) { $c = $name[...原创 2019-08-01 18:02:25 · 1736 阅读 · 0 评论 -
PHP的while 和foreach对数组的操作谁更快
while是通过移动数组内部指标老进行操作。foreach是对数组副本进行操作。 在循环数组的“读”操作里,foreach的运行速度超过while 在循环数组的“写”操作里,while的运行速度超过foreach总结:通常认为,foreach涉及到值复制,一定会比while慢,但实际上,如果仅仅是在循环里进行数组的读操作,那么foreach是很快的,这是因为PHP采用的...原创 2019-08-13 18:17:30 · 678 阅读 · 0 评论 -
win10系统 虚拟机配置静态ip
最近搭建了一个项目里面,里面明确的写了mysql和es连接的ip但是虚拟机的ip过几天开启又变了。我们不能总是改代码,所有我们只能讲虚拟机的ip由动态的改为静态的一. windows的修改从控制面板->网络和internet->网络和共享中心VMnet8右键点击属性:(1)选择ipv4 (2)点击属性 (3)选择使用下面的ip地址(4)ip地址和默...原创 2019-09-10 11:22:27 · 2271 阅读 · 0 评论 -
PHP的cURL选项CURLOPT_SSL_VERIFYPEER详解
在开发微信支付的过程中,遇到了关于cURL加密传输的问题,做下记录方便今后查阅。提交数据到https时,需要pem证书来加密。我们使用浏览器访问https的时候,浏览器会自动加载网站的安全证书进行加密。但是你用curl请求https时,没有通过浏览器,就只有自己手动增加一个安全证书进行加密。代码示例:01private funct转载 2017-05-25 14:46:06 · 11344 阅读 · 0 评论 -
php时间函数最大只能到2038-01-19的问题
使用strtotime(2038-01-20)输出结果报错,查询得知:Y2K38 漏洞Y2K38,又称 Unix Millennium Bug,此漏洞将会影响到所有 32 位系统下用 UNIX 时间戳整数来记录时间的 PHP,及其它编程语言。一个整型的变量所能保存的最大时间为 2038 年01月19 日 03:14:07。超过这个时间后,整型数值将会溢出。从 1970 年 ...转载 2019-09-17 10:56:07 · 1040 阅读 · 0 评论 -
如何防止strtotime加减一个月时出现月份不满31天,时间定位错误的问题
本文地址:http://www.laruence.com/2018/07/31/3207.html 转载请注明出处 经常会有人被strtotime结合-1 month, +1 month, next month的时候搞得很困惑, 然后就会觉得这个函数有点不那么靠谱, 动不动就出问题. 用的时候就会很慌…这不, 刚刚就有人在微博上又问我:鸟哥,今天是2018-07-31...转载 2019-09-19 17:55:18 · 706 阅读 · 0 评论 -
PHP如何防止XSS攻击与XSS攻击原理
转载至:https://mp.weixin.qq.com/s/jRuchaDBHpXxkjZh31F5vAXSS又称CSS,全称Cross SiteScript(跨站脚本攻击), XSS攻击类似于SQL注入攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当用户浏览该网站时,这...转载 2019-10-10 17:47:09 · 1525 阅读 · 0 评论 -
PHP中喜欢的神奇函数
array_cloumn:array_column(array,column_key,index_key)返回输入数组中某个单一列的值。$arr = array(array('id'=>'101','name'=>'豆豆'),array('id'=>'202','name'=>'牛牛'));$name = array_column($原创 2017-08-08 15:47:47 · 360 阅读 · 0 评论 -
三种 session存储方式
简单来说,Session就是服务器给客户端的一个编号,当一台web服务器运行时,可能 是有多个用户都在浏览这台服务器上的网站,当每个用户首次与这台服务器建立连接时,它就与这个服务器建立了一个Session,同时服务器就会自动为其分 配一个SessionId,用以标识这个用户的唯一身分,这个Session就是有服务器随机产生的一个由24个字符组成的字符串。 这个唯转载 2016-05-02 14:46:18 · 662 阅读 · 0 评论 -
php中echo 与print 的区别
echo 是语法结构,也就是关键字,不是函数。使用的时候不用加括号,加上也可以。显示多个值的时候可以用逗号隔开。只支持基本类型,布尔型除外,echo true的时候显示1,echo false的时候啥都没有。print 和 echo 基本一致。但是print 不支持逗号分隔多个显示变量的语法。print_r 是函数,不仅可以打印变量的的值,还能显示变量类型,而且也可以显示数组和对象转载 2016-05-02 14:51:51 · 247 阅读 · 0 评论 -
php中异常处理方法
当异常被触发时,通常会发生: 在PHP5中添加了类似于其它语言的错误异常处理模块。在 PHP代码中所产生的异常可被 throw语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常。每一个 try 至少要有一个与之对应的 catch。使用多个 catch 可以捕获不同的类所产生的异常。当 try转载 2016-06-26 00:37:33 · 308 阅读 · 0 评论 -
PDO概念及总结
为什么要讲PDO:(1)市面上使用最多的,大部分企业使用PDO(2)Mysqli 只支持MySQL数据库,PDO支持大部分数据库(3)以后做的项目都是使用PDO作为数据库抽象层来实现的mysqli------是MySQL数据库的加强:(预处理机制)(错误处理机制)(采用了面向对象的编程模式)一、PHP如何操作数据库与具体数据库的扩展:php转载 2016-06-26 00:42:10 · 575 阅读 · 0 评论 -
MYSQL添加一列具体步骤
如果想在一个已经建好的表中添加一列,可以用诸如:alter table t1 add column addr varchar(20) not null;这条语句会向已有的表t1中加入一列addr,这一列在表的最后一列位置。如果我们希望添加在指定的一列,可以用:alter table t1 add column addr varchar(20) not n转载 2016-06-27 19:52:36 · 1490 阅读 · 0 评论 -
接口类与抽象类的实际作用
1.php 接口类:interface 其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个时候php接口类就起到作用了,当我们定义了一个接口类时,它里面的方式是下面的子类必须实现的,比如 :复制代码 代码如下:interface Shop { public funct原创 2016-06-18 15:42:04 · 429 阅读 · 0 评论 -
php中extends和implements的区别
1、extends 是继承某个类 继承之后可以使用父类的方法 也可以重写父类的方法;2、implements 是实现多个接口 接口的方法一般为空的 必须重写才能使用; [在interface之间也可以声明为extends(多继承)的关系。注意一个interface可以extends多个其他interface。] extends是继承父类,只要那个类不是声转载 2016-06-18 15:52:01 · 1002 阅读 · 0 评论
分享