![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
空白_回忆
1、做不想做的!做不能做的!做没做过的!想成长,必须学会改变!
2、解决一切问题的思路:把大的问题切分成一个个小问题,然后一个个完成。
3、赚更多的钱,看更美的风景,干更大的事儿,做更好的自己。
4、年轻,无所畏!
展开
-
nginx使用反向代理时获取用户IP
nginx使用反向代理时获取用户IP一般获取IP地址都是用$_SERVER[‘REMOTE_ADDR’],而用nginx服务器并且用了反向代理的时候就需要用到getenv(‘HTTP_X_REAL_IP’)原创 2016-07-17 11:00:25 · 507 阅读 · 0 评论 -
php中List函数
php中List函数原创 2016-07-17 11:26:22 · 350 阅读 · 0 评论 -
linux下的nginx中php文件出现缓存的问题
linux下的nginx中php文件出现缓存的问题1、暂时解决方案,重启php服务:service php-fpm restart2、可能原因:(1)启用了nginx的fastcgi cache(具体解决网址:http://www.lvtao.net/server/224.html)(2)启用了php的ZendOpcache,并且过期时间设置过长:opcache.revalidate_freq=原创 2016-07-17 11:27:00 · 1198 阅读 · 0 评论 -
数据库中数据类型的区别
数据库中数据类型的区别SQL中char、varchar、nvarchar的区别char: char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。 nvarchar(n) 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之原创 2016-07-17 11:31:48 · 1211 阅读 · 0 评论 -
Mysql客户端的限制,只能接受gbk码,utf8不支持,数据库是支持的
Mysql客户端的限制,只能接受gbk码,utf8不支持,数据库是支持的Mysql客户端的限制,只能接受gbk码,utf8不支持,数据库是支持的原创 2016-07-17 11:33:14 · 586 阅读 · 0 评论 -
在引入的css或者js文件后面加参数的作用
在引入的css或者js文件后面加参数的作用注意:一般PHP的模板文件中都是这样写附带的参数的<script type="text/javascript" src="<!--{url}-->/js/carousel3d.js?ver=<!--{$version}-->"></script><link rel="stylesheet" type="text/css" href="<c:url value原创 2016-09-18 13:57:35 · 1058 阅读 · 0 评论 -
webservice到底是什么
webservice到底是什么简单答一下:1.web service本身不能做太多事,各种功能都是你自己编程实现的,但是你的程序只能自己用,自己看,别人根本不知道你的程序是什么样的。而web service就是规定了一种方式,告诉你将你的程序如何的部署到服务器上,然后大家通过一种协商好的地址能找到你的程序的说明,说明的格式也是大家都协商好的,所以可以读懂……然后你就可以根据那个地址来调用这个程序的原创 2016-09-18 14:00:26 · 4856 阅读 · 0 评论 -
同一服务器中,同一框架下的不同二级域名之间网站session如何互通
同一服务器中,同一框架下的不同二级域名之间网站session如何互通1、首先要注意的是,如果是在同一个服务器下,同一个框架内,但是不同二级域名的网站应用,也就是客户端的PHPSESSID的域不同时,服务器端的session是不通用的,因为session也是基于cookie的。也就是说不同域名,无论是二级域名还是一级域名不同,那么他们的cookie和session都是不通用的2、如果要使session原创 2016-09-18 14:01:21 · 4151 阅读 · 0 评论 -
PHP $_SERVER[‘PHP_SELF‘]、$_SERVER[‘SCRIPT_NAME‘] 与 $_SERVER[‘REQUEST_URI‘] 之间的区别
PHP SERVER[′PHPSELF′]、_SERVER['PHP_SELF']、_SERVER[‘SCRIPT_NAME’] 与 $_SERVER[‘REQUEST_URI’] 之间的区别$_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI'] 三者非常相似,返回的都是与当前 URL 或 PHP 程序文件相关的信原创 2016-09-18 14:04:44 · 524 阅读 · 0 评论 -
json数据拼接和foreach参数问题
json数据拼接和foreach参数问题1、foreach里面的变量不能和key和value重名,比如$games和$game在foreach内部就不能出现foreach ($games as $game) { $result = db::getWhere('ch_game','id='.$game['gid']);原创 2016-07-17 11:24:56 · 1584 阅读 · 0 评论 -
调试常用打印方法
调试常用打印方法第一种:header("Content-Type:text/html;charset=utf-8");echo '<pre>';var_dump($a);exit;注释:这里的$a是要打印的变量,该方法可以打印出带类型的数据。第二种:header("Content-Type:text/html;charset=utf-8");echo '<pre>';Print_r原创 2016-07-17 11:23:57 · 421 阅读 · 0 评论 -
php或且非运行机制(短路机制)
php或且非运行机制(短路机制)$a and $b And(逻辑与) TRUE,如果 $a 和 $b 都为 TRUE。$a or $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE。$a xor $b Xor(逻辑异或) TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是。! $a Not(逻辑非) TRUE,如果 $a 不为 TRUE。$a &原创 2016-07-17 11:22:52 · 1969 阅读 · 0 评论 -
php字符串比较函数
php字符串比较函数strcasecmp(变量1,变量2),比较的时候是不区分大小写的,如果变量1长度大于变量2,则返回值是正,如果变量1长度小于变量2,则返回值是负,如果相等,则返回值为0。原创 2016-07-17 11:01:39 · 230 阅读 · 0 评论 -
将IP地址转化为数字的形式的好处
将IP地址转化为数字的形式的好处ip2long(),此函数可以将IP地址转化为数字的形式保存,可以在制作投票功能的时候保存到数据库,并建立索引,增加访问速度。原创 2016-07-17 11:02:46 · 504 阅读 · 0 评论 -
$_SERVER[‘PHP_SELF‘]、$_SERVER[‘SCRIPT_NAME‘] 与 $_SERVER[‘REQUEST_URI‘] 三者的区别
$_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI']三者的区别$_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI'] 三者非常相似,返回的都是与当前 URL 或 PHP 程序文件相关的信息:1.$_SERVER['PHP_SE原创 2016-07-17 11:12:17 · 4679 阅读 · 0 评论 -
$i++和++$i的区别
$i++和++$i的区别++$i是先自加1,然后再赋值$i++是先赋值,再加1比如:$i=97; $a=($i++)+(++$i)+$i; $b=(--$i)+($i--)+$i+6; echo "$i,$a,$b";输出结果为:97,295,299原创 2016-07-17 11:16:23 · 1119 阅读 · 0 评论 -
PHP ob系列函数(缓存输出函数)详解
PHP ob系列函数(缓存输出函数)详解一、 相关函数简介: 1、Flush:刷新缓冲区的内容,输出。 函数格式:flush() 说明:这个函数经常使用,效率很高。 2、ob_start :打开输出缓冲区 函数格式:void ob_start(void) 说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。 为了输出缓冲区的内容原创 2016-07-17 11:18:36 · 866 阅读 · 0 评论 -
PHP页面跳转几种实现技巧
PHP页面跳转几种实现技巧Web系统中,从一个网页跳转到另一个网页,是LAMP项目中最常用的技术之一。页面跳转可能是由于用户单击链接、按钮等引发的,也可能是系统自动产生的。 此处介绍PHP中常用的实现页面自动跳转的方法。PHP页面跳转一、header()函数header()函数是PHP中进行页面跳转的一种十分简单的方法。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器原创 2016-07-17 11:19:59 · 2783 阅读 · 0 评论 -
php文件创建相关操作
php文件创建相关操作1、is_dir(file):检查指定的文件是否是目录2、umask(0):设置权限为0777注释:linux中的 umask 函数主要用于:在创建新文件或目录时 屏蔽掉新文件或目录不应有的访问允许权限。文件的访问允许权限共有9种,分别是:r w x r w x r w x(它们分别代表:用户读 用户写 用户执行 组读 组写 组执行 其它读 其它写 其它执行)。其实这个函数的作原创 2016-07-17 11:20:47 · 614 阅读 · 0 评论 -
is_int出现的问题
is_int出现的问题刚才在写PHP代码的时候用is_int怎么也测试不出来传过来的整数,,,即使传过来的是一个整数但是仍然显示不是~~~为此上网查了查~~现在网上普遍的认为是is_int对类型限制比较严格,取1不取'1',GET,POST传参实际上是字符窜 也就是说比如传过来的是 '1' 注意 这个' 也被传过来了~~所以这是一个数字字符串~~~所以is_int就返回false原创 2016-07-17 11:21:37 · 700 阅读 · 0 评论 -
PHP判断多维数组是否为空
PHP判断多维数组是否为空1、用empty不能判断多维数组是否为空2、array_filter()函数能过滤掉多维数组中的空的数组,之后用empty判断3、用count()函数,count()函数可以计算一个一维数组的个数,如果有第二个参数,且为1,则会递归的计算个数,所以,如果是二维数组,则可以用:count(array,1) - count(array) == 0 ? 这样来判断这个二维数组是否原创 2016-09-18 14:06:10 · 2449 阅读 · 0 评论 -
php数组合并用加号和用array_merge()的区别
php数组合并用加号和用array_merge()的区别第一先看数组元素:<?php$a = array('r'=>1,2,3,4);var_dump('a',$a);$b = array('r'=>5,6,7,8);var_dump('b',$b);$c = array('r'=>5,6,7,8,9);var_dump('c',$c);var_dump('a+b',$a+$b);var_dump原创 2016-09-18 14:07:19 · 6323 阅读 · 0 评论 -
php中urldecode和urlencode的具体使用
1、urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%。urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符2、使用场景:公司项目(搜索条件的数据传输,从一个页面到另外一个页面)://serialize将数组转化为字符串,不用implode是因为有关联数组,implod原创 2016-11-01 12:01:35 · 6484 阅读 · 0 评论 -
php函数封装相关
php函数封装相关1、把一个大功能分割成许多的小功能,对小功能进行封装,也就是所谓的MVC架构,通过控制器到方法,从而实现类似入口的功能(一个控制器里有多个功能,功能实现是在M中),这样可以将系统的耦合程度降到最低,提高代码功能的可用性。2、注意事项:封装的时候不要直接封装到foreach,因为别的地方可能会有单个的,所以要在foreach里调用单个处理的函数原创 2016-11-01 12:04:01 · 534 阅读 · 0 评论 -
php中什么时候用try...catch语句
php中什么时候用try…catch语句1、当调用其他平台接口的时候需要使用try…catch来捕获错误防止意外的发生2、函数封装的时候防止意外错误发生,用以产生错误码,能更快速的定位问题try { //…} catch(Exception $e) { //…}原创 2016-11-01 12:06:34 · 8323 阅读 · 0 评论 -
php中删除数组中的某一个unset和array_splice的区别
php中删除数组unset和array_splice的区别unset删除以后数组的索引值不会发生变化,array_splice会发生变化比如:$arry = array([0]=>'a', [1]=>'b', [2]=>'c', [3]=>'d');$result1 = unset($arry[2]);$result2 = array_splice($arry[2]);//这时$result1原创 2016-11-01 13:29:49 · 8673 阅读 · 1 评论 -
php判断数据是ajax提交还是普通表单提交
php判断数据是ajax提交还是普通表单提交第一种方式:PHP判断ajax请求的原理:在发送ajax请求的时候,我们可以通过XMLHttpRequest这个对象,创建自定义的header头信息, 在jquery框架中,对于通过它的$.ajax, $.get, or $.post方法请求网页内容时,它会向服务器传递一个HTTP_X_REQUESTED_WITH的参数,php中就是在header一层原创 2016-11-25 17:42:43 · 2347 阅读 · 0 评论 -
php中负数在if判断的作用
php中负数在if判断的作用if(条件){} if判断的条件中,如果条件是非0的正数或者负数,那么if中的代码都能执行,如果if为0则不执行,加上!则相反 例如: if(-1) { echo 1; //这里的1会被输出 ]if(1) { echo 1; //这里的1会被输出 ]if(0) { echo 1; //这里的1不会被输出 ]if(!-1) { echo 1原创 2016-11-25 18:35:58 · 4292 阅读 · 0 评论 -
关于php运算符优先级问题(php不完全遵守运算符优先级)
关于php运算符优先级问题(php不完全遵守运算符优先级)$a = 10;echo 7 > $a = 4;这里运算之后会输出1,即true,因为PHP不是完全遵守优先级顺序,在这种情况下会先赋值,再比较大小。(所以说PHP在出现比较复杂的优先级顺序的时候需要加上括号)PHP并不完全遵守优先级的定义, 这个在PHP的手册中也有说明:Note: 尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧原创 2016-11-25 18:37:59 · 539 阅读 · 0 评论 -
php静态类和非静态类具体用法详解
php静态类和非静态类具体用法详解1、静态类:静态方法中只能调用静态属性和静态方法,不能调用非静态属性和方法,调用格式: self::方法名()、self::属性名2、动态类:动态方法中静态方法和动态方法都可以调用,如果在同一个类中,调用静态方法使用:self::方法名()、self::属性名,调用动态方法用this−>方法名()、this->方法名()、this->属性名3、只有实例化的时候才会原创 2016-11-01 11:54:36 · 2276 阅读 · 0 评论 -
php中get和post的区别以及什么时候用get什么时候用post详解
php中get和post的区别以及什么时候用get什么时候用post详解区别:1、get一般都是超链接后面传递的数据,传送的数据量较小,不能大于2KB。2、post一般都是表单传送的数据,数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。3、get安全性非常低,post安全性较高。但是执行效率却比Post方法好。 建议:get方式的安全性较Post方式要原创 2016-11-01 11:41:20 · 3198 阅读 · 0 评论 -
PHP和JAVA的本质性区别
PHP和JAVA的实用性区别编译型的静态语言java效率高,适合做cpu密集型的企业bs软件。非编译型的动态语言php简单直观好用,适合做io密集型的百度知道,百度百科,糗事百科等。对不对,前面的是浏览器中的计算软件,后面的是展示型的web网站。原创 2016-09-18 14:11:19 · 1053 阅读 · 0 评论 -
php中预定义变量DIRECTORY_SEPARATOR是什么意思
php中预定义变量DIRECTORY_SEPARATOR是什么意思php的内置变量DIRECTORY_SEPARATOR是一个显示系统分隔符的命令,DIRECTORY_SEPARATOR是php的内部常量,不需要任何定义与包含即可直接使用。众所周知,在windows下路径分隔符是\(当然/在部分系统上也是可以正常运行的,微软的操作系统是够人性化呢?还是够不精密的呢?),在linux 上路径的分隔符是原创 2016-09-18 14:08:23 · 576 阅读 · 0 评论 -
PHP将数组存入数据库中的四种方式
PHP将数组存入数据库中的四种方式PHP将数组存入数据库中的四种方式最近突然遇到了一个问题,如何用PHP将数组存入到数据库中,经过自己的多方查找和研究,总结了以下四种方法:1.implode()和explode()方式2.print_r()和自定义函数方式3.serialize()和unserialize()方式4.json_encode()和json_decode()方式[php] v原创 2016-09-18 14:09:20 · 6758 阅读 · 0 评论 -
PHP中句柄的通俗理解
PHP中什么事句柄就是个锅把你想,你做饭不能总端着锅吧?得握着锅把,因为锅太大了,不好拿。句柄也是这个道理,打开一个资源,这个资源特别大,可能是个好几G的文件,PHP不能操作的,因为PHP可用内存也就几十M。这样就需要一个句柄,这个句柄说白了就是刚才举例中的锅把,直接指向那个资源,传递的时候只需要传递这个不到1K的句柄,就能操作资源了。原创 2016-09-18 14:10:26 · 1220 阅读 · 0 评论 -
cookie与session的实现
cookie与session的实现Cookie 实现机制: 浏览器首次访问服务器,发送请求如果没有带身份,服务器检测不到cookie会返回一个登录窗口,输入用户名和密码后再次请求,服务器接受到表单提交上来的用户信息后验证通过,返回一个相应的请求页,并在HTTP头中添加setcookie信息,浏览器接受到返回内容后会处理http头部的相应信息,这里会设置cookie,第二次用户访问服务器时会浏览器原创 2016-09-18 14:12:15 · 416 阅读 · 0 评论 -
php中is_dir、is_file、file_exits的区别
php中is_dir、is_file、file_exits的区别PHP的 file_exists = is_dir + is_file 它既可以判断文件是否存在,又可以判断目录是否存在。但这样一个全面的函数执行效率非常低,就像asp中request不指定是form,还是get,cookies,所以结论是: ◦如果要判断目录是否存在,请用独立函数 is_dir(directory) ◦如果要判断文件原创 2016-09-18 14:13:37 · 419 阅读 · 0 评论 -
php中scandir()异常返回空问题
php中scandir()异常返回空问题PHP scandir()扫描文件夹,返回值异常,是因为scandir函数被禁用了,按照以下方法开启就可以了现原来是因为php里面的scandir函数被禁用了。 解决办法: 打开php.ini(路径:linux:用命令locate php.ini),找到这行: disable_functions = scandir,passthru,exec,system,原创 2016-09-18 14:15:30 · 1841 阅读 · 0 评论 -
PHP$a[]和$a的区别
PHPa[]和a[]和a的区别$a[]=array('b'=>'b','c'=>'c');$b=array('b'=>'b','c'=>'c');echo $a[0]['c'];//输出cecho $b['c'];//输出c也就是说$a[]本身就是一个数组,被array()赋值以后ibanchengle二维数组$a = array(1, 2, 3);$a[] = 5;这时,输出$a,Arr原创 2016-09-18 14:16:06 · 3982 阅读 · 0 评论 -
php遍历某个文件夹以及遍历里面的所有文件夹代码实现
php遍历某个文件夹以及遍历里面的所有文件夹代码实现//遍历某个文件夹及其子文件夹里的内容function files_show($path){ $handle = dir($path); //打开制定文件夹 $exclude = array('.', '..'); //排除选项 $dir = array(); //返回项 while(($result = $原创 2016-11-01 10:34:25 · 1246 阅读 · 0 评论