
php
文章平均质量分 73
小菜鸟czh
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PHP之Trait详解
php从以前到现在一直都是单继承的语言,无法同时从两个基类中继承属性和方法,为了解决这个问题,php出了Trait这个特性用法:通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词,Trait不能实例化如下代码实例:<?phptrait Dog{ public $name="dog"; public f...转载 2020-02-25 09:57:53 · 306 阅读 · 0 评论 -
PHP引用(&)使用详解
php的引用(就是在变量或者函数、对象等前面加上&符号)在PHP 中引用的意思是:不同的名字访问同一个变量内容。与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容,在内存中存放的地址。1.变量的引用PHP 的引用允许你用两个变量来指向同一个内容<?php $a="ABC"; $b =&$a; echo $a;//这里输出:AB...原创 2019-11-03 12:43:51 · 881 阅读 · 0 评论 -
php链式操作
要实现链式操作需要在方法中 return $this,不然的话只能一个一个方法调用//php链式操作class lianShi{ public $name; public $age; public $sex; public function name($name) { $this->name = $name; ...原创 2019-10-23 11:52:02 · 210 阅读 · 0 评论 -
PHP命名空间(Namespace)的使用详解
对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结。命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀。例:项目中有两个模块:article和message board,它们各自有一个处理用户留言的类Comment。之后我可能想要增加对所有转载 2015-05-28 15:47:34 · 693 阅读 · 0 评论 -
php程序员进阶篇 [十问PHP程序员]
转载自:PHPchina (UID:流感猪)1.首先看了PHP的源码API函数,对于许多口水仗的争论一笑而过,只是停留在脚本级别上的什么效率,安全。。。之争完全就是无稽之谈,没有深入理解API,所有的争论都是臆测和不科学的态度。你做了吗?2.不再把PHP看作一门后台语言,而是一门类似JS的脚本,页面表现级的语言,更多的是尝试使用一种软件来做后台,PHP做前台,尝试真正的B/S开发。你的转载 2015-11-06 14:37:08 · 539 阅读 · 0 评论 -
PHP编程效率的20个要点
用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加 上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 2、转载 2015-12-27 23:16:37 · 434 阅读 · 0 评论 -
thinkphp 查看sql语句
$User = M("User"); // 实例化User对象$User->find(1);echo $User->getLastSql();原创 2016-06-12 15:37:11 · 2476 阅读 · 0 评论 -
centos 安装php5.6
1.首先添加依赖应用yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib转载 2016-07-27 12:00:48 · 815 阅读 · 0 评论 -
解决php5.6的curl扩展开启失败的问题
今天要用到php的curl扩展,将php.ini中的;extension=php_curl.dll的注释去掉后,重启apache后仍然报Call to undefined function curl_init()的错误。百度多次,尝试很多方法,也不能成功的将curl成功开启。最后在官方说明文档中的http://php.net/manual/zh/curl.installation.php这个页面得转载 2016-08-30 16:53:36 · 2774 阅读 · 0 评论 -
Windows安装PHP MongoDB扩展
本文将讲述一下在Wamp环境下安装MongoDB扩展的过程,大家可以略作参考 安装环境系统环境:Windows 7 64位Apache版本:2.4.9PHP版本:5.5.12MongoDB版本:3.2.6Wamp版本:wamp 2.5 64位 在windows下安装mongodb的扩展比Linux环境稍微复杂点安装步骤一、确定php的compil转载 2016-08-31 14:03:42 · 1087 阅读 · 0 评论 -
Thinkphp中的A 函数(Thinkphp3.2.3版本)
A函数是TP中实例化控制器的一个快捷函数,它的语法结构如下:A('模块/控制器')//当控制器层名称不是 Controller 时须这样写A('模块/控制器','控制器层名称') 如果要调用的控制器就在当前模块下,那么也可以按如下语法写:A('控制器')//或者这样A('控制器','控制器层名称') 通常情况下访问控制器的实例化是自动完成的,系统转载 2016-09-19 15:05:36 · 3427 阅读 · 0 评论 -
array_diff_uassoc
求两个数组的差集,看手册说的:用用户提供的回调函数做索引检查。这是关键的地方,用户的回调函数只做索引的检查,也就是说,用户回调检查完索引之后,array_diff_assoc()还会对数组对应的值进行一次比较,如果值相等,就去掉,两个值不等,就留下。举具体的例子看回调函数的作用:第一种情形:回调函数始终return 1$arr1 = [1 => 'red',2 => 'blue原创 2016-09-07 09:51:31 · 1100 阅读 · 0 评论 -
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
在Windows环境下:原本在php4.3.0中运行正常的程序,在4.3.1中为何多处报错,大体提示为:Notice:Undefined varialbe:变量名称.例如有如下的代码: if (!$tmp_i) { $tmp_i=10; } 在4.3.0中运行正常,在4.3.1中运行会提示Notice:Undefined varialbe:tmp_i 问题下转载 2015-08-31 11:38:33 · 3859 阅读 · 0 评论 -
浅谈CSRF攻击方式
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚转载 2015-07-17 15:52:50 · 406 阅读 · 0 评论 -
yii2CSRF验证
在Yii框架中,为了防止csrf攻击,封装了CSRF令牌验证。只需要在主配置文件中进行简单的配置,就可以实现CSRF的验证。'components'=>array( 'request'=>array( // Enable Yii Validate CSRF Token 'enableCsrfValidation' =>转载 2015-07-17 13:59:34 · 2899 阅读 · 0 评论 -
php操作ftp
上代码//先创建一个xml文件$file=fopen($result_a[0]["code"].".xml","w");fwrite($file, $str);fclose($file); //链接ftp$ftp=ftp_connect("21.254.4.15") or die("连接远程服务器失败!");ftp_login($ftp,"swywb","swywb原创 2014-05-26 13:41:50 · 922 阅读 · 0 评论 -
字符窜序列化serialize问题
字符串中有特殊符号导致 serialize 后不能正常还原,在php4时代就有这问题了. 先把字符串 base64_encode 在 serialize ,这样就不会有问题. 还原的时候先 unserialize 再 base64_decode原创 2015-05-29 11:35:43 · 1530 阅读 · 0 评论 -
php上传文件名中包含中文字符的附件
我们在上传附件的时候,常会要上传一些附件名称包含中文字符的附件,上传成功之后,会发现上传的附件其实是一个空文件。我就遇到过这类问题。下面我们来解决这类问题解决这类问题其实很简单例如我们的php编码是utf-8,我们只要在move_uploaded_file()的时候,将保存附件的路径编码换成和php编码一致就可以解决如下代码就能解决move_uploaded_file($fil原创 2015-05-29 16:56:35 · 1907 阅读 · 0 评论 -
简单的php验证码生成
//生成图片 $width="100"; $height="50"; //生成一个背景,默认黑色 $img=imagecreatetruecolor($width, $height); //生成颜色 $background=imagecolorallocate($img,200,200,200); $white=imagecolorallocate($img,255,255,原创 2015-06-01 15:06:53 · 839 阅读 · 0 评论 -
PHP中超全局变量$GLOBALS和global的区别
一、超全局变量$GLOBALSPHP超全局变量有很多,如下的都属于超全局变量(Superglobal):$GLOBALS,$_SERVER,$_GET,$_POST,$_FILES,$_COOKIE,$_SESSION,$_REQUEST,$_ENV。官方说明:$GLOBALS — 引用全局作用域中可用的全部变量。一个包含了全部变量的全局组合数组。变量的名字就是数组的键。即出现转载 2015-06-09 16:13:43 · 640 阅读 · 0 评论 -
将字符串按字符个数切割成数组
str_split()函数定义和用法str_split() 函数把字符串分割到数组中。语法str_split(string,length)参数描述string必需。规定要分割的字符串。length可选。规定每个数组元素的长度。默认是 1。说明如果 length 小于 1,str_split() 函数将返回原创 2015-06-10 11:16:11 · 2896 阅读 · 0 评论 -
PHP的GC垃圾收集机制
每一种语言都有自己的自动垃圾回收机制,让程序员不必过分关心程序内存分配,但是在OOP中,有些对象需要显式的销毁;防止程序执行内存溢出。一、PHP 垃圾回收机制(Garbage Collector 简称GC)在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁;这是PHP 的GC垃圾处理机制,防止内存溢出。当一个 PHP线程结束时,当前占用的所转载 2015-06-11 15:42:22 · 569 阅读 · 0 评论 -
PHP函数:var_export()
var_export() 函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值。看下面一个简单的例子:1转载 2015-06-11 17:19:58 · 1016 阅读 · 0 评论 -
C/S架构和B/S架构的概念和区别
C/S 架构C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。C/S 架构也可以看做是胖客户端架构。因为客户端需要实现绝大多数的业务逻辑和界面转载 2013-09-18 10:35:23 · 2824 阅读 · 1 评论 -
PHP array_multisort对多维数组或多个数组排序
PHP array_multisort() 函数定义和用法array_multisort() 函数对多个数组或多维数组进行排序。参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。第一个参数是数组,随后的每一个参数转载 2015-03-11 16:59:22 · 3829 阅读 · 0 评论 -
php try catch捕获错误
本文实例讲述了php中try catch捕获异常。分享给大家供大家参考。具体方法分析如下:php中try catch可以帮助我们捕获程序代码的异常了,这样我们可以很好的处理一些不必要的错误了,感兴趣的朋友可以一起来看看。PHP中try{}catch{}语句概述PHP5添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw语句抛出并被 catch 语句捕获。(转载 2016-10-10 11:31:43 · 8139 阅读 · 0 评论 -
linux php安装redis扩展
下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz上传phpredis-2.2.4.tar.gz到/usr/local/src目录cd /usr/local/src #进入软件包存放目录tar zxvf phpredis-2.2.4.tar.gz #解压cd phpredis-2.2.4 #进入安装目录/u转载 2017-03-23 18:10:07 · 637 阅读 · 0 评论 -
cookie设置域名问题,cookie跨域
今天研究一天发现cookie无法设置除当前域名或者其父域名之外的其他domain.这个是游览器出于对cookie的保护造成的,也就是cookie无法跨域设置。对于子域名也有如下规则,当前域名只能设置当前域名以及他的父域名,不能设置子域名如在www.wo.cao.baidu.com 域名下只能设置 cao.baidu.com,baidu.com不能设置 da.jia.wo.cao.转载 2017-03-24 11:39:33 · 37952 阅读 · 1 评论 -
laravel 判断查询数据库返回值
在使用 Laravel Eloquent 模型时,我们可能要判断取出的结果集是否为空,但我们发现直接使用 is_null 或empty 是无法判段它结果集是否为空的。var_dump 之后我们很容易发现,即使取到的空结果集, Eloquent 仍然会返回 Illuminate\Database\Eloquent\Collection 对象实例。其实,Eloquent 已经给我们封装几个原创 2017-05-13 10:24:59 · 3001 阅读 · 0 评论 -
centos 安装apache2.4
卸载旧版本apache、php、mysql:sudo yum erase httpdsudo yum erase php php-clisudo yum erase mysql下载编译安装apache 2.2.19:http://mirror.bjtu.edu.cn/apache/httpd/cd ~wget http://mirror.bjtu.edu.cn/apa原创 2016-07-25 16:08:59 · 587 阅读 · 0 评论 -
Windows下安装并设置Redis
Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定。但有时候又想在windows下折腾下Redis,可以从redis下载页面看到如下提示(在页面中搜索 "windows"):Win64 Unofficial The Redis project does not directly support Windows,转载 2017-09-13 16:11:31 · 470 阅读 · 0 评论 -
二分查找
$arr = [1,3,4,5,6,77,88,89,90,100,122,133,134,166];$num = 100;$start = 0;$end = count($arr)-1;//参数 想要找的值,数组,开始键,结束键function getkey($num,$arr,$start,$end){ $mid = ceil(($start+$end)/2); ...原创 2018-04-19 14:24:33 · 272 阅读 · 0 评论 -
快速排序
function kuaisu($arr){ $len = count($arr); if($len <= 1){ return $arr; } $key = $arr[0]; $left_arr = $right_arr = []; for($i=1; $i<$len;$i++){ if($arr[$i...原创 2018-04-19 16:10:35 · 298 阅读 · 0 评论 -
fastcgi与php-fpm的关系
首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解...转载 2018-05-19 15:49:35 · 268 阅读 · 0 评论 -
php中stdclass怎么使用?
PHP中STDCLASS在我们开发应用中使用到的不多,但是PHP中STDCLASS作用是非常的大的,下面我们一起来看PHP中STDCLASS的用法.在WordPress中很多地方使用stdClass来定义一个对象(而通常是用数组的方式),然后使用get_object_vars来把定义的对象『转换』成数组.如下代码所示:$tanteng = new stdClass();$tante...转载 2018-09-19 19:17:10 · 1702 阅读 · 0 评论 -
mongodb解决只能本地连接不能远程连接问题
本机windows7 ,装了vagrant盒子,并在盒子上装了mongodb服务,本机连接虚拟机时连不上。解决方法:修改虚拟机上 mongodb.conf 文件,将bind_ip = 127.0.0.1 改成 bind_ip = 0.0.0.0 就可以访问了原创 2017-03-23 16:15:05 · 16970 阅读 · 2 评论 -
linux安装redis服务
本文详细介绍Redis单机单实例安装与配置,服务及开机自启动。如有不对的地方,欢迎大家拍砖o(∩_∩)o一.安装redis1) 下载redis安装包可去官网http://redis.io ,也可通过wget命令,wget http://download.redis.io/redis-stable.tar.gz2) 解压tar –zxvf转载 2017-03-22 18:28:34 · 1113 阅读 · 0 评论 -
thinkphp 静态缓存
thinkphp的静态缓存是指将访问的每个页面按照一定的规则缓存起来,下一次访问时直接读取相应的缓存,这样就能加快访问速度。静态缓存与生成静态类似,区别在于生成静态后要更新内容必须重新生成,但是静态缓存可以在设置的缓存时间超出后自动重新生成缓存,缓存时间重新计算,这样就既能减小服务器解析模板的压力,又同时能自动更新。静态缓存与完全静态在访问速度方面相比稍微慢一点,但与不打开静态缓存就有天壤之原创 2016-10-27 16:32:52 · 1787 阅读 · 0 评论 -
google 和 firefox 添加用户自定义脚本
如何在页面中嵌入自己写的Javascript脚本呢?下面分别介绍一下在Chrome和Firefox两种浏览器上的操作步骤:Chrome:1. 打开chrome扩展程序页 – chrome://extensions2. 将刚才的自定义脚本保存为以user.js为后缀的 .js文件,例如test.user.js,拖入扩展程序页。3. 重启浏览器。4. 然后输入www.baidu.c原创 2016-10-20 11:09:50 · 4794 阅读 · 0 评论 -
网站
http://www.superslide2.com/原创 2015-04-23 15:43:54 · 642 阅读 · 0 评论