
PHP
Undefind_object
PHP高级讲师
展开
-
什么是“脚本语言”
使用命令写成的 Shell 脚本非常简洁,使得对防火墙的配置工作简单化,管理员只需要按照网络性能要求写好脚本,提交命令就可以使防火墙的各种配置立即生效,实现了瞬间化网络管理;脚本只是命令字符的集合,往往几百条命令组成的 Shell 脚 本才几个 KB 大小,使用远程命令行工具对 Linux防火墙管理配置使得管理人员可以实现安全高效的远程办公,实现了网络管理的远程化;当执行脚本时,计算机会执行一连串的操作。脚本是由script翻译来的,这个词原本的意思是“剧本”,计算机时代到来后人们又将这个词解释为脚本。..转载 2022-08-10 10:36:33 · 5344 阅读 · 0 评论 -
一个函数中写多少行代码比较合适呢? 代码整洁之道
代码】一个函数中写多少行代码比较合适呢?代码整洁之道。转载 2022-07-20 17:13:59 · 1508 阅读 · 0 评论 -
php header 下载文件
header('content-disposition:attachment;filename='. basename($filename)); header('content-length:'. filesize($filename)); readfile($filename); 函数详解: basename:获取文件路径文件部分的路径 readfile:读取一个文...原创 2022-05-25 09:57:52 · 633 阅读 · 0 评论 -
PHP根据base64生成图片并保存
public function base64(){ //接收base64数据 $image= $_POST['imegse']; //设置图片名称 $imageName = "25220_".date("His",time())."_".rand(1111,9999).'.png'; //判断是否有逗号 如果有就截取后半部分 if (strstr($image,",")){ $image.转载 2022-05-24 15:32:52 · 1020 阅读 · 0 评论 -
PHP解码 解析二维码
下载地址链接:https://pan.baidu.com/s/1ZQ6STlrw4abTrTutdG_tzw提取码:cjh6使用Zxing扩展库1、文件下载好后,直接解压,结构如下,我们只需要lib这个文件夹2、将lib文件夹重命名为Zxing,然后打开Zxing目录下的QrReader.php文件,可以发现命名空间是Zxing3、接下来就很简单了,把Zxing文件夹放到thnikphp的扩展目录extend里4、报错 Fatal error:: Allo...转载 2022-05-13 15:06:00 · 1954 阅读 · 0 评论 -
PHP解决跨域问题
在类里添加如下代码 // *等价于所有 // 制定允许其他域名访问 header('Access-Control-Allow-Origin:*'); // 响应类型 header('Access-Control-Allow-Methods:*'); //请求头 header('Access-...原创 2018-11-21 10:23:35 · 5681 阅读 · 1 评论 -
JS中使用PHP变量
<?php $text = '文本'; $articles = [ [ 'title' => '标题1', 'content' => '内容1' ], [ 'title' => '标题2', 'content' => '内容2' ] ];?><script> //字符串 var text = '<?php echo $text ?>'; console.dir(text.转载 2022-04-07 15:29:40 · 1702 阅读 · 0 评论 -
thinkphp like数组 查询多个like条件
//注意or在数组中的位置not like : $map[] = ['sw_visitUrlFirst','not like',['%bd02-c%','%bd02-f%','%sg04%','%sm04%','or']]; like:$map[] = ['sw_visitUrlFirst','like',['%bd02-c%','%bd02-f%','%sg04%','%sm04%'],'or'];转载 2022-03-08 11:31:06 · 1272 阅读 · 0 评论 -
PHP静态方法的使用场景
静态方法不属于对象 属于当前类 我不需要由抽象到具体这个过程 也就是说我不需要变成对象静态方法可以用作只做不变的事的方法 比如获取配置原创 2021-12-30 17:07:48 · 281 阅读 · 1 评论 -
php switch 如果不在case后加break会怎么样
<?php/** * Created by PhpStorm. * User: 1 * Date: 2017-11-09 * Time: 19:51 */ $text="red";switch ($text){ case "red": echo "红"; case "green": echo "绿"; default: echo "白";}?>这样输出结果会是 红绿白在第2个case后.原创 2021-11-29 11:35:14 · 568 阅读 · 0 评论 -
Navicat数据库已经连接但忘记了密码怎么办--在线解密Navicat已经成功连接的数据库密码
<?phpclass NavicatPassword{ protected $version = 0; protected $aesKey = 'libcckeylibcckey'; protected $aesIv = 'libcciv libcciv '; protected $blowString = '3DC5CA39'; protected $blowKey = null; protected $blowIv = null; .转载 2021-10-20 11:03:09 · 428 阅读 · 0 评论 -
php 抽象类和接口的区别
(我觉得通俗易懂,看完了茅塞顿开啊 ♪(^∀^●)ノ)php中抽象类和接口的区别:1) 概念面向对象的三大概念:封装,继承,多态把属性和方法封装起来就是类。一个类的属性和方法被另外的类复制就是继承,PHP里面的任何类都可以被继承,被继承的属性和方法都可以被子类重新定义,这就是多态性。抽象类和抽象方法:所谓抽象方法就是只有名字的空“函数”,而且抽象方法必须是空方法。所谓抽象类就是包含抽象方法的类,同时抽象类也可以包含普通方法。因为抽象方法必须是空方法,所以任何子类在继承抽象类.转载 2021-10-20 10:45:52 · 126 阅读 · 0 评论 -
PHP namespace、require、use区别
假设 有文件a.php 代码<?phpclass a{//类a public function afun()//函数afun{ echo "aaaa";}}?>有文件b.php 代码<?phpclass a{//类a public function bfun()//函数bfun{ echo "aaaa";}}?>有文件c.php 现在有如下需求需求1:需要在c.php中调用afun()。需求1很简单 大家都.转载 2021-09-28 11:09:41 · 313 阅读 · 0 评论 -
thinkphp权限 扩展插件
thinkphp6的插件扩展:链接: https://pan.baidu.com/s/1WZdFBv95PFDQXlLF9JkaXQ 提取码: kv8v1.按步骤创建数据表,用户表:权限表:角色表:用户所属角色表:2.composer代码下来,composer代码下来后会在config文件多出一个auth.php, 在里面可以更改表的名字3.composer下来后<?phpnamespace app\admin\controller;...原创 2021-07-20 14:40:30 · 367 阅读 · 0 评论 -
为什么ajax能接收到php echo出来的值呢?里面是个什么机制呢?
ajax获取的内容与浏览器打开这个网页获取的内容是一样的,一个是用js获取网页内容,一个是浏览器获取内容并显示,机制是一样的.也就是说ajax去请求 也可以获取输出在浏览器的内容原创 2021-07-06 12:04:37 · 322 阅读 · 2 评论 -
为什么使用七牛云或阿里OSS展示图片使用带后缀的链接
比如PHP展示一个图片为什么使用?time=时间戳https://baidu.com/1.jpg?time=1655487214这是为了避免缓存, 如果你每次都加载图片, 那么在客户端那里访问的时候,即使你的图片地址已经修改了,但是浏览器默认还是会使用本地缓存的图片,如果你修改图片之后,引用1.jpg?time=时间戳,每次修改img都改变XX的数值,那么,在客户端那里,浏览器如果检测到XX与本地缓存的img不一致,就会重新去服务器请求最新的img,这样你的img才能在客户端体现。...原创 2021-06-25 15:16:39 · 665 阅读 · 2 评论 -
phpstorm配置debug
1.1使用phpinfo查看配置信息 1.2根据php版本和vc版本和位数(x86对应32位)在[这里写链接内容](https://xdebug.org/download..原创 2021-06-18 11:26:27 · 1957 阅读 · 1 评论 -
PHP header浏览器中显示图片
/* * php 页面直接输出图片 */function showImg($img){ $info = getimagesize($img); $imgExt = image_type_to_extension($info[2], false); //获取文件后缀 $fun = "imagecreatefrom{$imgExt}"; $imgInfo = $fun($img); //1.由文件或 URL 创建一个新图象。如:imagecreatefrompng ( string .原创 2021-06-10 20:59:44 · 1045 阅读 · 2 评论 -
PHP 获取网页标题(title)、描述(description)、关键字(keywords)等meta信息
1. PHP 内置函数 get_meta_tags 1 2 $meta_array = get_meta_tags( 'https://mimvp.com' ); var_dump( $meta_array );...转载 2021-06-09 16:55:27 · 1131 阅读 · 0 评论 -
为什么引用js或css后加?v=
这是为了避免css缓存, 如果你每次都引用aa.css, 那么在客户端那里访问的时候,即使你的aa.css已经修改了,但是浏览器默认还是会使用本地缓存的aa.css,如果你修改css之后,引用aa.css?v=XX,每次修改css都改变XX的数值,那么,在客户端那里,浏览器如果检测到XX与本地缓存的css不一致,就会重新去服务器请求最新的css,这样你的css才能在客户端体现。<span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v=原创 2021-05-27 14:53:25 · 605 阅读 · 0 评论 -
PHP array_multisort()函数超详细理解
项目中用到这个函数了 ,起初对这个函数一直是懵逼状态,文档都看的朦朦胧胧的网上无意间看到这篇文章 ,写的超级详细,收藏了 。当然要先放原地址:https://www.cnblogs.com/WuNaiHuaLuo/p/5794669.html<!----------正文begin-------------->这个函数因为用到了,并且在网上找了半天终于找到了一个写的通俗易懂的文章,在这里分享给大家。 原文链接:http://blog.163.com/lgh...转载 2021-05-25 17:12:18 · 3265 阅读 · 0 评论 -
phpStorm从git上更新代码时,不小心本地新写的代码全消失了
phpstorm还是比较强大的。这个时候,只需要先选中自己修改过的代码的文件夹(一定要先选中文件夹),然后鼠标右键就会出现如下图的Local History,点击它然后再点击Show History,会出现如下的图然后选中鼠标右键,点击Revert,就会恢复自己修改的代码了。...转载 2021-05-12 11:44:05 · 510 阅读 · 0 评论 -
PHP实现无限极分类生成分类树的方法
本文实例讲述了PHP实现无限极分类生成分类树的方法。分享给大家供大家参考,具体如下:现在的分类数据库设计基本都是:每一个分类有一个id主键字段,一个pid指向父类的id,这样便可实现无限级分类,取出的数据就是如下的格式:$arr = array( array("id" => 1 , "pid" => 0 , 'cat' => '栏目一'), array("id" => 2 , "pid" => 0 , 'cat' => '栏目二'), array("原创 2020-12-26 19:18:27 · 322 阅读 · 0 评论 -
php栏目和分类的区别
1、分类不可以发表文章,分类下可以建栏目。一般把分类作为某个范畴内容的顶级2、栏目一shu般在分类之下,可以发表文章;栏目也可以做成单篇文章的形式,就像你的图示一样,这样这个栏目就只是一篇文章了,不能在栏目里发表其它的文章了。1.分类 2栏目 3 文章 3成龙出国了 2娱乐新闻 3刘德华结婚了1新闻 3著名女明星漏点了 2社会新闻看明白了没有?!!...原创 2020-12-22 15:50:29 · 251 阅读 · 0 评论 -
thinkphp5分页CSS样式代码
<styletype="text/css">/**thinkphp5分页样式*by:时间博客*/.pagination{padding:10px0;text-align:center;}.paginationli{border-radius:3px;border:1pxsolid#dfdfdf;display:inline-block;margin:02px;}.pagination.active{background:#09F;color:...原创 2020-08-24 17:40:41 · 454 阅读 · 0 评论 -
tp5模板中时间戳转时间
tp5模板中时间戳转时间{:date('Y-m-d H:i',变量)}原创 2020-08-24 11:55:44 · 978 阅读 · 0 评论 -
thinkphp如果定义了版本目录,通过url应该怎么访问?
如何通过这样的地址访问:www.xxxx.com/index.php/api/v1/Shop/read在url助手函数中应该这样访问并且需要在路由中这样定义,因为url助手函数回去路由中找路由的后半部分,原创 2020-08-21 11:58:58 · 211 阅读 · 0 评论 -
PHP判断是否在微信浏览器中打开
preg_match('~micromessenger~i', header('user-agent'))原创 2020-08-15 16:47:35 · 1117 阅读 · 0 评论 -
PHP 图片上传加文字水印接口形式返回之imagettftext和问题总结
TP5 php7 imagettftext图片上传加文字水印接口形式方法以及遇到的所有问题例如imagettftext(): Could not find/open font一、简述首先给大家一下我实现的代码,如果复制过去可以用,就不用往下看了。接下来几步给大家详细思路、传值详情、报错,这个代码是接口形式的,因为很多情况图片上传接口是需要返回值的。但是输出完header来生成图片时,你的返回值就没法进行判断了,而且我没想到因为PHP7的GD版本我会遇到这么多坑,所以我才写了这篇.转载 2020-08-14 17:33:00 · 733 阅读 · 0 评论 -
PHP开启强类型检验
HP是世界上最好的语言,开发快是它最大的优势,凡事有利必有弊。众所周知,PHP是弱类型语言,在传递参数时,不会检查变量的类型,再加上动态语言的特性,如果写代码不注意,很容易造成类型不符,自动转换类型,并且程序不会报错,造成数据错误和不完整。在PHP7之后,通过在文件开头用 declare(strict_types = 1) 定义强类型检验后,当函数传参类型不符时,将会抛出错误。开...转载 2020-04-20 17:09:00 · 411 阅读 · 0 评论 -
PHP实现发送邮件
不同类型的邮箱发送邮件的方式也是不同的。下面我们就先给大家举例介绍qq邮箱开启发送邮件服务的方法。首先我们登录qq邮箱,打开设置,选择帐户。然后在帐户下,找到如下所示的开启服务部分。开启服务中,前两个选项均可实现邮件发送服务。点击开启,会出现验证提示。确认验证,成功开启POP3/SMTP服务后,就会出现以下授权码。那么此授权码就可以用于PHP实现邮件发送的开发方法中。注:每次开启生成...转载 2020-01-11 10:15:23 · 1773 阅读 · 1 评论 -
面向切面编程(AOP)通俗易懂理解
面向切面编程(AOP)又称面向方面编程 是对统一的总体的进行逻辑处理个人理解和面向对象中的继承区别是oop是纵向结构 aop是横向结构面向切面是一种思想,不是具体的框架,也不是具体的代码。计算机中的所有思想,大部分都是由日常生活中衍生而来的。比如一场电影300人,流程一般是一个个去检票口检票。而不是分配给300个检票人员分别检票,这样太冗余。larave...原创 2020-01-05 17:07:43 · 2529 阅读 · 0 评论 -
apidoc实现API文档自动生成
现在越来越流行前后端分离,使得前后端解耦。前后端的联系来源于数据接口,所以后端每次实现数据接口后都需要给前端写API接口文档,但是每次手写API文档很麻烦而且降低工作效率,其实有很多框架可以实现API文档自动生成,最著名的可能是swagger。但是swagger对于windows版本NodeJS开发者有点不友好,所以我尝试了一下最后放弃了,最后选择了使用apidoc来自动化生成API文档。wh...转载 2019-12-25 15:38:20 · 573 阅读 · 1 评论 -
apidoc实现API文档自动生成
现在越来越流行前后端分离,使得前后端解耦。前后端的联系来源于数据接口,所以后端每次实现数据接口后都需要给前端写API接口文档,但是每次手写API文档很麻烦而且降低工作效率,其实有很多框架可以实现API文档自动生成,最著名的可能是swagger。但是swagger对于windows版本NodeJS开发者有点不友好,所以我尝试了一下最后放弃了,最后选择了使用apidoc来自动化生成API文档。wh...转载 2019-12-25 15:34:47 · 593 阅读 · 0 评论 -
PHP 将数据导出成excel格式
public function exportData() { set_time_limit(0); ini_set('memory_limit', '1024M'); $columns = [ '列名1', '列名2', '列名3' //需要几列,定义好列名 ]; ...转载 2019-12-24 17:04:13 · 309 阅读 · 0 评论 -
laravel实现上传图片,并且制作缩略图
composerrequireintervention/imagelaravel配置config/app里面增加:在providers中增加Intervention\Image\ImageServiceProvider::class,在aliases中增加'Image' => Intervention\Image\Facades\Image::class...原创 2019-11-27 14:09:42 · 878 阅读 · 0 评论 -
区分REST和RESTful
REST来源REST:是一组架构约束条件和原则,REST是Roy Thomas Fielding在他2000年的博士论文中提出的。Roy Thomas Fielding是HTTP协议(1.0版和1.1版)的主要设计者、Apache服务器作者之一、Apache基金会第一任主席什么是RESTREST(Representational State Transfer):表现层状态转移,一种软...转载 2019-11-15 16:40:31 · 285 阅读 · 0 评论 -
PHP基础篇-extends 与implements的使用
1. 在类的声明中,通过关键字extends来创建一个类的子类。一个类通过关键字implements声明自己使用一个或者多个接口。extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空必须重写才能使用。2.extends 是继承父类,被继承的类不是声明为final或者定义为abstract就能继承,P...转载 2019-05-28 17:30:11 · 4262 阅读 · 0 评论 -
PHP基础篇 php接口interface到底有什么用?
PHP接口(interface)的特点1、接口的方法必须是公开的。2、接口的方法默认是抽象的,所以不在方法名前面加abstract。3、接口可以定义常量,但不能定义成员属性,常量的定义和用法和类中常量一样。4、类可以实现多个接口(相当于把多个功能集于一身,如手机实现了小灵通、MP3、MP4的功能)5、接口也可以继承接口。PHP同大多数的面向对象语言一样,并不支持多重继承。如...转载 2019-06-19 17:15:08 · 5675 阅读 · 2 评论 -
PHP 引用详解 - 踩坑与妙用
最近在关注「PHP 引用」这一话题,看过不少深度文章,对 PHP 里的「引用」有了更深的理解。0x00首先看如下代码:$foo['hello'] = '0';$bar = &$foo['hello']; // 引用!$tipi = $foo;$tipi['hello'] = '1';print_r($foo);问:输出 0 还是输出 1?答案是 1。原理何在...原创 2019-06-20 11:23:35 · 261 阅读 · 1 评论