PHP学习收集
文章平均质量分 61
资料收集库
一个佛系老白
展开
-
Linux 切换默认php版本
一、对所有用户永久有效cd /etcvim /etc/profile加上 export PATH=/usr/local/php/bin:$PATH保存退出source /etc/profile完成.php -v注:该配置对所有用户永久生效二、临时有效,重启或者其他用户无效cd /etcexport PATH=/usr/local/php/bin:$PATH完成.php -v注:该配置仅临时有效声明:此博有部分内容为转载,版权归原作者所有~...转载 2021-01-25 16:38:04 · 1146 阅读 · 0 评论 -
php7安装问题
https://blog.csdn.net/wnccmyr/article/details/107983933 从官网下载php7.4.14的安装包https://www.php.net/downloads 上传到linux的自定义目录下 (因为我服务器上已经有一个老版本在运行 所以将php源码压缩包下载到一个不同的目录) 安装进入到所上传的压缩包所在目录后进行解压 tar -zxvf php-7.4.14.tar.gz 解压完后如下: 预编...原创 2021-01-21 16:41:03 · 812 阅读 · 0 评论 -
php返回json数据到前台的一个小问题
1.用php返回json格式的列表数据到前台时,没有正常被前台框架解析,按F12在network里查看发现是json格式的错误,如下:2.经查证导致格式不一样的原因是:当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串。而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串。3.因为前端框架只识别第一种情况,解决办法就是把要传的数组键值变成从0开始的连续数字,可以原创 2020-05-31 11:34:19 · 6917 阅读 · 0 评论 -
PHP文件包含漏洞攻防实战(allow_url_fopen、open_basedir)
https://www.cnblogs.com/52php/p/6087317.html转载 2020-05-27 11:33:50 · 7093 阅读 · 0 评论 -
PHP FTP下载服务器文件流程
1.连接ftp服务器conn.php$host='xxx.xxx.xxx.xxx';$user='xxx';$pass='xxx';$conn=ftp_connect($host,21);if(!$conn){ exit('不能连接到服务器');}echo '连接到服务器...<br/>';$result=@ftp_login($conn,$user,$pass);if(!$result){ exit('不能登陆到服务器,用户'.$user);}ech原创 2020-05-25 11:54:43 · 7759 阅读 · 0 评论 -
php ftp操作相关函数
PHPFTP函数PHP FTP 简介FTP 函数通过文件传输协议 (FTP) 提供对文件服务器的客户端访问。FTP 函数用于打开、登录以及关闭连接,同时用于上传、下载、重命名、删除及获取文件服务器上的文件信息。不是所有的 FTP 函数对每个服务器都起作用或返回相同的结果。自 PHP 3 起,FTP 函数可用。这些函数用于对 FTP 服务器进行细致的访问。如果您仅仅需要对 FTP 服务器进行读写操作,建议使用 Filesystem 函数中的 ftp:// wrapper。安装PHP..转载 2020-05-23 16:39:08 · 6767 阅读 · 0 评论 -
移动端多图片上传
前端参考于https://blog.csdn.net/qq_37610423/article/details/84319410原版只能上传单张,经过调整修改可以满足于批量多张图片上传并附带与php后端交互,记录于下CSS#fileBox{ padding-left:15px; min-height:0px;overflow:hidden; padding-bottom:20px; padding-top:5px;} #fileBox label{ border: 1px soli原创 2020-05-16 14:24:51 · 7581 阅读 · 0 评论 -
PHP登入网站抓取并且抓取数据
有时候需要登入网站,然后去抓取一些有用的信息,人工做的话,太累了。有的人可以很快的做到登入,但是需要在登入后再去访问其他页面始终都访问不了,因为他们没有带Cookie进去而被当做是两次会话。下面看看代码<?php//test.phpfunction getWebContent($host,$page="/",$paramstr="",$cookies='',$medth="POST"...转载 2020-03-13 16:39:17 · 9335 阅读 · 0 评论 -
TP5 未定义变量:XXX
TP5开发模式下报错级别非常高,哪怕变量未定义都直接抛出异常应用公共函数文件 路径:application/common.php在common.php文件写入// 异常错误报错级别,error_reporting(E_ERROR | E_PARSE );...转载 2020-01-18 14:29:46 · 11837 阅读 · 0 评论 -
new self() 和 new static() 的区别
1、new static()是在php5.3版本引入的新特性2、无论是 new static 还是 new self() 都是 new 一个对象3、这两个方法new 出来的对象 有什么区别呢?说白了就是new出来的到底是同一个类的实列还是不同类的实列为了探究上面的问题、我们先上一段简单的代码class Father{ public function getNewFa...转载 2020-01-18 10:06:37 · 10967 阅读 · 0 评论 -
匿名函数
匿名函数匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。匿名函数目前是通过Closure类来实现的。Example #1 匿名函数示例<?phpechopreg_replace_callback('~-([a-z])~...转载 2020-01-17 13:48:45 · 10993 阅读 · 0 评论 -
CGI、FastCGI和PHP-FPM有什么关系呢?
在搭建 LAMP/LNMP 服务器时,会经常遇到PHP-FPM、FastCGI和CGI 这几个概念。如果对它们一知半解,很难搭建出高性能的服务器。接下来我们就以图形方式,解释这些概念之间的关系。基础在整个网站架构中,Web Server(如Apache)只是内容的分发者。举个栗子,如果客户端请求的是 index.html,那么Web Server会去文件系统中找到这个文件,发送给浏览器,这里分...转载 2020-01-17 09:34:38 · 11048 阅读 · 0 评论 -
[源码分析系列] json_encode() 如何转化一个对象?
https://juejin.im/post/5c80b5ec6fb9a049f23d8a33json_encode()如何转化一个对象? 使用json_encode()将数组array转化成json字符串我们都已经很熟悉了那么使用json_encode()转化一个对象是什么样的过程呢?初步测试我们需要新建一个具有多种属性的对象新建JsonTest...转载 2020-01-09 14:21:06 · 11793 阅读 · 0 评论 -
parse_str() 函数
把查询字符串解析到变量中:<?phpparse_str("name=Bill&age=60");echo $name."<br>";echo $age;?>转载 2020-01-03 11:03:03 · 11561 阅读 · 0 评论 -
get_included_files函数 查看所有引用文件和顺序流程
get_included_files可以以数组的形式显示目前引入的所有文件名称<?phpinclude 'test1.php';include_once 'test2.php';require 'test3.php';require_once 'test4.php';$included_files = get_included_files();foreach (...转载 2019-12-26 11:42:38 · 11459 阅读 · 0 评论 -
PHP命令空间namespace及use的用法实践总结
文章大纲:使用namespace的目的namespace的使用方法使用use的目的use的使用方法使用namespace的目的:团队合作项目时,避免与团队其它成员新建的类发生冲突;个人负责项目时,避免前后新建的类发生冲突;据个人理解,用到所需要的类时,需要先require或include引入,所以会发生类重定义的错误的前提是:两个相同命名的类都有...转载 2019-12-23 11:10:46 · 11197 阅读 · 0 评论 -
支付宝当面付支付
扫码支付接入地址https://docs.open.alipay.com/194/106078/获取签名地址https://docs.open.alipay.com/291/105971/获取支付二维码的参数详细https://docs.open.alipay.com/api_1/alipay.trade.precreate#s3...原创 2019-12-16 14:58:36 · 11320 阅读 · 0 评论 -
lotusphp里面和thinkphp里面的C方法重复怎么解决
把 lutus 的 shortcut 里的c 函數去掉 或 改成別的名字就可以了 lutusphp 里其他地方基本沒有用到 shortcut 里的函数http://www.thinkphp.cn/topic/6615.html转载 2019-12-16 13:45:29 · 11136 阅读 · 0 评论 -
array_merge合并数组返回null的一个坑
合并数组$arr1 + $arr2 和array_merge($arr1,$arr2);1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会...转载 2019-12-10 16:02:06 · 11827 阅读 · 0 评论 -
ThinkPHP 5.x 远程命令执行漏洞复现(GetShell)
一、简介ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞。该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本包括5.0和5.1版本,推荐尽快更新到最新版本。二、修复方案Thinkphp v5.0.x补丁地址: https://github.com/top-thi...转载 2019-11-26 15:58:25 · 15187 阅读 · 2 评论 -
exec函数的介绍和使用DEMO
exec()函数用来执行一个外部程序,我们再用这函数基本是在linux。开启exec()函数:exec()函数是被禁用的,要使用这个函数必须先开启。首先是 要关掉 安全模式 safe_mode = off。然后在看看 禁用函数列表disable_functions = proc_open, popen, exec, system, shell_exec, passthru这里要把 ex...转载 2019-11-15 14:03:33 · 11159 阅读 · 0 评论 -
>>关于MVC与三层架构(转自ProLiuzt以方便以后查阅)
我认为MVC设计模式,关键在于构建Model,Model就是MVC模式的灵魂,他包含了三层架构里面的 “实体规范层”、“行为规则层”、“数据访问层”;控制器(Controller)用来收集View提供的用户数据,传递给Model,同时返回Model处理后的数据给View。Model的设计可以参考三层架构的设计方法,将实体、行为规则(业务逻辑)和数据访问分开,在数据访问上可以应用ORM框架。三层架构转载 2014-09-11 08:51:06 · 9862 阅读 · 0 评论 -
apache打开Include conf/extra/httpd-vhosts.conf,就无法起动的解决办法(转自雨中奔跑的博客)
apache打开Include conf/extra/httpd-vhosts.conf,就无法起动 标签: apache 伪静态 it分类: apache 今天在做伪静态配置的时候,启用虚拟主机,在配置文件http.conf取消Include conf/extra/httpd-vhosts.转载 2014-09-10 17:21:30 · 19016 阅读 · 0 评论 -
php 中const与define的区别 (转自wanna)
php 中const与define的区别 2012-08-04 16:21:57| 分类: 默认分类|举报|字号 订阅在php中定义常量时,可用到const与define这两种方法,那他们到底有什么区别呢?1.const用于类成员变量的定义,一经定义,不可修改。define不可用于类成员变量的定义,可用于全局常量。2.const可在类转载 2014-09-28 10:21:30 · 9765 阅读 · 0 评论 -
$_GET['goods_id']+0
目的: 为了防止sql注入,tid,goods_id都是正整数类型,防止人为了在后面追加 ?tid=1 or 1 这样的语句.原理: 不管你的参数多么险恶,+0后都老老实实变成数值类型比如 '?tid=1 or 1' , $_GET['tid']+0 后值变成1;有学生问,你为什么不用(int)强转或intval来转换.1: 用哪种方式,目的都是一样的2: 用+转载 2014-10-22 17:36:28 · 10057 阅读 · 0 评论 -
Cookie禁用了,Session还能用吗?
Cookie与 Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案。但为什么禁用Cookie就不能得到Session呢?因为Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于失去了Session ID,也就得转载 2014-11-09 16:15:54 · 35604 阅读 · 2 评论 -
PHP如何修改session的生存时间
一:在php.ini 中设置 session.gc_maxlifetime = 1440 //默认时间二:代码实现$lifeTime = 24 * 3600; // 保存一天 session_set_cookie_params($lifeTime); session_start();转载 2014-11-09 16:36:29 · 10166 阅读 · 0 评论 -
$_SERVER['SCRIPT_NAME']、$_SERVER['SCRIPT_FILENAME']及__FILE__不同
在PHP中,有时需要知道脚本所处的位置,这时会用到$_SERVER['SCRIPT_NAME']、$_SERVER['SCRIPT_FILENAME']及__FILE__。那么他们之间有什么不同呢?1、$_SERVER['SCRIPT_NAME']先说 $_SERVER['SCRIPT_NAME'] ,它是包含当前运行脚本的路径,这是从客户端来看的路径。假如你访问的URL地址为 htt转载 2014-10-24 14:30:49 · 10176 阅读 · 0 评论 -
php中9个全局变量
PHP有9个预定义变量数组,分别总结如下: 1、$_SERVER $_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户配置及当前请求环境的有关信息。根据服务器不同,$_SERVER中的变量值和变量个数会有差别,不过一般都可以找到CGI1.1规范中定义的变量。其中包括: $_SERVER[ 'HTTP_REFERER' ] ; 引转载 2014-10-27 10:43:13 · 9919 阅读 · 0 评论 -
PHP大小写敏感规则(转自songkexin的博客)
PHP对大小写敏感问题的处理比较乱,大家一定要注意。推荐大家始终坚持“大小写敏感”。这里面需要注意的是类和函数不区分大小写。但即使你疏忽了,在调试时解释器也会抓住这个错误的。一、大小写敏感1. 变量名区分大小写所有变量均区分大小写,包括普通变量以 及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SERVER,$_F转载 2014-10-14 11:55:23 · 10361 阅读 · 0 评论 -
require(),include(),require_once()和include_once()区别
面试中最容易提到的一个PHP的问题,我想和大家共勉一下: require()和include()有许多相似之处,也有些不同。理解它们的不同点非常重要,否则很容易犯错误。我把这两个语句放在一起介绍,读者可以比较学习。 1.require()语句 require()语句用于指定的文件代替语句本身,就象C语言中的include()语句一样。如果php配置文件php.i转载 2014-10-14 12:03:38 · 9784 阅读 · 0 评论 -
PHP大小写:函数名和类名不区分,变量名区分
PHP对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下。http://blog.sina.com.cn/s/blog_65f387740100jy70.html但我不是鼓励大家去用这些规则。推荐大家始终坚持“大小写敏感”,遵循统一的代码规范。1. 变量名区分大小写1 2 $abc = 'abcd';3 echo $abc; //输出转载 2014-11-03 10:45:04 · 10080 阅读 · 0 评论 -
数组游标实现对数组的各种操作(PHP学习)
数组游标实现对数组的各种操作(PHP学习)如何不用foreach实现对数组实现循环?答:我们只需要模拟foreach就行了,数组在执行foreach循环的时候,是有一个游标指向当前数组循环到的值, 那如果我们能拿到这个游标,并且操作游标,使游标前进或者后退,那么我们就能不用foreach而实现循环数组 直接上代码,清晰直观:<?p转载 2015-01-15 10:55:07 · 10052 阅读 · 0 评论 -
检测手机登入
/*** Mobile Detect* @license http://www.opensource.org/licenses/mit-license.php The MIT License*/class Mobile_Detect{ protected $accept; protected $userAgent; protect转载 2015-01-16 14:52:44 · 9841 阅读 · 0 评论 -
学习文档
对于宽度1900的banner或者区域都可以认为是全屏,直接width:100%; overflow:hidden;对于宽度1200px的直接指定宽度width:1200px min-height:0,有两种居中方式:A:margin居中 {width:90%;margin:0 auto}B:定位居中 {width:800px;position:relative;left:50%;mar原创 2015-03-02 09:49:24 · 9715 阅读 · 0 评论 -
php中$_SERVER['HTTP_HOST']和$_SERVER['SERVER_NAME']的区别,记不住来看看就知道了
$_SERVER['HTTP_HOST'] = $_SERVER['SERVER_NAME']:$_SERVER['SERVER_PORT']当URL为:http://www.tomener.com/love.php$_SERVER['HTTP_HOST']输出是:www.tomener.com$_SERVER['SERVER_NAME']输出是:www.tomener.com转载 2015-03-05 08:04:05 · 9976 阅读 · 0 评论 -
php中引用&的真正理解-变量引用、函数引用、对象引用
php中引用&的真正理解-变量引用、函数引用、对象引用 php的引用(就是在变量或者函数、对象等前面加上&符号) //最重要就是 删除引用的变量 ,只是引用的变量访问不了,但是内容并没有销毁 在PHP 中引用的意思是:不同的名字访问同一个变量内容.变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 php$a="ABC";转载 2015-06-15 08:58:55 · 9758 阅读 · 0 评论 -
php对象在内存中的分配
网上看到一篇文章很好,其中:$p1=new Person();对象的首地址赋给“$p1”这个引用变量,所以$p1 是存储对象首地址的变量,$p1 放在栈内存里边,$p1 相当 于一个指针指向堆里面的对象,所以我们可以通过$p1 这个引用变量来操作对象,通常我们也 称对象引用为对象。但是对于php手册中抢到&并非C语言中的指针地址,让我有种疑问,于是向前辈及大侠们请教了下,得到了大家确认的支持排转载 2015-10-04 15:11:32 · 11273 阅读 · 0 评论 -
PHP对象类型在内存中的分配
对象类型和整型、字符串等类型一样,也是PHP中的一种数据类型。都是在程序中用于存储不同类型数据使用的,在程序运行时它的每部分内容都要先加载到内存中再被使用。那么对象类型的数据在内存中是如何分配的呢?先来了解一下内存结构。逻辑上内存大体被分为四段,分别为栈空间段、堆空间段、初始化数据段和代码段,程序中不同类型数据的声明将会被存在不同的内存段里面。每段内存的特点如下。①.栈空间段栈的特点是空间转载 2015-10-04 15:00:15 · 9715 阅读 · 0 评论 -
Apache Rewrite如何传递GET参数的问题
应用场景:在RewriteRule中,如果规则中没有重写GET参数,原有的GET参数是可以直接传递的;但如果在重写时定义了其他的GET参数,则原有的GET参数就都没了:RewriteRule ^([0-9a-zA-Z]+) /index.php?alias=$1上面的代码会将url重写到index.php下,这时如果在用户名后有GET参数,如&id=$id,那么在index.p转载 2015-10-22 09:08:04 · 12099 阅读 · 0 评论