![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
文章平均质量分 63
lxf0613050210
这个作者很懒,什么都没留下…
展开
-
php URL解析函数parse_str和parse_url的区别
phpparse_str函数php parse_str函数将查询字符串解析到变量中。parse_str函数有两个参数,第一个参数为需要解析的查询字符串并且是必须的,第二个参数用于设置接收解析查询字符串的变量,第二个参数是可选的。请看下面实例:这里我们使用了parse_url来获取URL的查询字符串,parse_url函数下面有讲解。<?php$url_name='htt...转载 2019-05-14 11:11:16 · 633 阅读 · 0 评论 -
PHP float加减乘除
如果用php的+-*/计算浮点数的时候,可能会遇到一些计算结果错误的问题,比如echo intval( 0.58*100 );会打印57,而不是58这个其实是计算机底层二进制无法精确表示浮点数的一个bug,是跨语言的可以用精度函数库解决问题 bcadd — 将两个高精度数字相加 bccomp — 比较两个高精度数字,返回-1, 0, 1 b转载 2017-06-04 14:54:41 · 5065 阅读 · 1 评论 -
说说$POST 、$HTTP_RAW_POST_DATA、php://input三者之间的区别
$POST$_POST是我们最常用的获取POST数据的方式,它是以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换,识别的数据类型是PHP默认识别的数据类型 application/x-www.form-urlencoded无法解析如text/xml,application/json等非 application/x-www.form-url转载 2017-06-17 14:03:45 · 661 阅读 · 0 评论 -
多台web服务器之间共享session
很多开发中涉及到用户的Session验证很保留的问题,这个问题比较有意思,总结了几种方案,只供参考。 [ 问题提出 ] 为了满足足够大的应用,满足更多的客户,于是我们架设了N台Web服务器(N>=2),在多台Web服务器的情况下,我们会涉及到一个问题:用户登陆一台服务器以后,如果在跨越到另一台服务器的时候能够继续使用客户的Session? (以下描述方案只是针对Linux/转载 2017-03-26 10:04:22 · 540 阅读 · 0 评论 -
php把文件上传到远程服务器上例子
在这里我们利用curl实现把本地服务器的文件通过curl发送请求给远程服务器的php文件接受就实现了上传,还一个是利用ftp来上传方法也是php中的curl操作ftp服务器进行上传。我这里写的是用curl的代码本地代码如下:php header('content-type:text/html;charset=utf8'); $curl = curl_转载 2017-03-26 10:03:43 · 1325 阅读 · 0 评论 -
获取某个分类的顶级分类
<?php$sql = "select id, pid from tablename ";// 查询后 将结果处理成 如下数组格式$arr = [ // id => pid 1 => 0, // 省略... 5 => 1, // 省略... 13 => 5];// 建议将这数组缓存起来$id = 13;while($arr[$id])转载 2017-03-26 10:00:23 · 766 阅读 · 0 评论 -
一些时间的概念与区分(UTC、GMT、LT、TAI等)
UT - 世界时Universal Time世界时是最早的时间标准。在1884年,国际上将1s确定为全年内每日平均长度的1/8.64×104。以此标准形成的时间系统,称为世界时,即 UT1。1972年国际上开始使用国际原子时标,从那以后,经过格林威治老天文台本初子午线的时间便被称为世界时,即UT2,或称格林威治时间(GMT),是对地球转速周期性差异进行校正后的世界时。转载 2017-02-04 10:39:48 · 4017 阅读 · 0 评论 -
PHP慢脚本日志和Mysql的慢查询日志
1、PHP慢脚本日志间歇性的502,是后端 PHP-FPM 不可用造成的,间歇性的502一般认为是由于 PHP-FPM 进程重启造成的。在 PHP-FPM 的子进程数目超过的配置中的数量时候,会出现间歇性的502错误,如果在配置中设置了max_requests的话,超过数量也会出现502错误,而max_requests的设置,正是为了防止不安全的第三方library脚本的 内存泄露 ,转载 2017-01-22 17:01:23 · 491 阅读 · 0 评论 -
PHP SERVER_NAME和HTTP_HOST的区别
相同点:当满足以下三个条件时,两者会输出相同信息。1. 服务器为80端口2. apache的conf中ServerName设置正确3. HTTP/1.1协议规范不同点:1. 通常情况:_SERVER[“HTTP_HOST”] 在HTTP/1.1协议规范下,会根据客户端的HTTP请求输出信息。_SERVER[“SERVER_NAME”] 默认情况下直接输出apac转载 2017-01-20 11:09:08 · 818 阅读 · 0 评论 -
公钥,私钥和数字签名这样最好理解
一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了...转载 2017-02-08 14:40:16 · 358 阅读 · 0 评论 -
redis存在大量脏页问题的追查记录
case现场线上发现一台机器内存负载很重,top后发现一个redis进程占了大量的内存,TOP内容如下:27190 root 20 0 18.6g 18g 600 S 0.3 59.2 926:17.83 redis-server 发现redis占了18.6G的物理内存。由于redis只是用于cache一些程序数据,觉得很不可思议,执转载 2017-01-05 18:13:18 · 637 阅读 · 0 评论 -
centos php 动态安装pdo_mysql mysql mysqli等扩展
1:pdo_mysql 进入php安装是的解压目录cd /usr/soft/php-5.5.37/ext/pdo_mysql/ 运行phpize phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块/usr/phpenv/php5.5.37/bin/phpize configure模块./configure --with-php-conf原创 2016-08-12 11:21:15 · 4113 阅读 · 0 评论 -
PHP生成唯一字符串的方法,产生唯一码的方法分析
1. 自己写代码产生随机的数字和字母组合,每产生1个去数据库查询该随机码是否已存在,如果已存在,则重新产生,直到不重复为止。 优点:没发现有啥优点。 缺点:产生速度慢,还要查询数据库,当数据量大的时候,可能重复的机率会比较高,要查询多次数据库.2. guid,该方法应该是用的比较多的。 优点:使用简单方便,不用自己编写额外的代码 缺点转载 2016-10-10 19:35:18 · 3157 阅读 · 0 评论 -
php empty和isset的比较
1:isset()函数 一般用来检测变量是否设置 2::empty()函数 判断值为否为空注: empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。例子:<?php $empty_object=(object)array();$null_str=array(0,'','0原创 2016-02-24 13:14:19 · 298 阅读 · 0 评论 -
php const和define的区别
(1).const用于类成员变量的定义,一经定义,不可修改。define不可用于类成员变量的定义,可用于全局常量。(2).const可在类中使用,define不能。class test { const t002="t002"; define(t001,"t001");//报错,不能这样使用 function test(){ define(t001,"转载 2016-08-03 14:48:34 · 291 阅读 · 0 评论 -
PHP输出XML到页面的3种方法详解
第一种方法:<?phpheader("Content-type: text/xml");echo "";echo "";echo ""; echo ""; echo "小小菜鸟"; echo ""; echo ""; echo "24"; echo ""; echo ""; echo "男"; echo "";echo ""转载 2017-07-02 09:25:57 · 1803 阅读 · 0 评论 -
微信浏览器取消缓存的方法
做微信公众号和调试手机页面的时候,避免不了页面要跳转到微信浏览器打开,调试阶段,android版微信浏览器一直都默认缓存html静态资源,每次静态资源变化甚至新内容发布的时候在微信浏览器上都极有可能不能更新,很多时候要清理微信缓存才能看到效果,很是烦人。部分客户装了QQ浏览器,微信实际调用的是QQ浏览器,有时候甚至光清理微信缓存都无效,QQ浏览器的缓存也要清。经过一番探索微信浏览器确实是在we转载 2017-06-23 08:59:51 · 2151 阅读 · 0 评论 -
php 合并数据函数 array_merge和array_merge_recursive
(1)array_merge 代码: $a = array(array(1, 2, 3), array(11, 22, 33), array(111, 222, 333)); $b = array(array(4, 5, 6), array(44, 55, 66), array(444, 555, 666)); $c = array_merge_recursive ($a,...原创 2018-04-28 16:28:31 · 524 阅读 · 0 评论 -
PHP数字补零的两种方法
在php中有两个函数——至少有两个是否有其他的我还不知道,能够实现数字补零,str_pad(),sprintf()详细如下str_pad顾名思义这个函数是针对字符串来说的这个可以对指定的字符串填补任何其它的字符串例如:str_pad(带填补的字符串,填补后的长度,填补字符串,填补位置)其中填补后的长度必须是个正整数,填补位置有三个选项,左边:STR_PAD_LEFT,右边:STR_PAD_RIGH...转载 2018-05-11 15:46:52 · 415 阅读 · 0 评论 -
thinkphp 如何组合查询 实现and和or同时使用即复合查询
开发过程中经常会遇到查询条件and 和or都同时使用的情况,Thinkphp中本来就支持这个查询的,不一定非得自己写sql语句,使用复合查询即可:复合查询复合查询相当于封装了一个新的查询条件,然后并入原来的查询条件之中,所以可以完成比较复杂的查询条件组装。例如:$where[‘name’] = array(‘like’, ‘%thinkphp%’);$where[‘title’] = arra...转载 2018-04-21 15:53:29 · 3292 阅读 · 0 评论 -
PHP保留两位小数的几种方法
$num = 10.4567; //第一种:利用round()对浮点数进行四舍五入 echo round($num,2); //10.46 //第二种:利用sprintf格式化字符串 $format_num = sprintf("%.2f",$num); echo $format_num; //10.46 ...转载 2018-04-05 13:03:54 · 188 阅读 · 0 评论 -
PHP中的数字与字符串比较
PHP中的比较运算符有点诡异,很容易出错,现列出比较规则:1、当两个字符进行大小比较时,是比较着这两个字符的ASCII码大小——这条很容易理解。2、当两个字符串进行大小比较时,是从第一个字符开始,分别比教对应的ASCII大小,只要从从某个对应位置开始,其中一个字符串的当前位置字符大于另一个字符串对应位置字符,即直接判别出这两个字符串大小,如'ba'>'az'——这条其实大家也都知道的。那么'...转载 2018-04-16 15:57:59 · 909 阅读 · 0 评论 -
sublime3 添加php语法验证
有时候需要用运行一段 PHP 代码,比如测试某个函数返回值等等,如果启动 Http Server,再打开浏览器,那黄花菜都凉了。我们可以在 Sublime Text 3 中创建 PHP 的 build system,这样就可以利用 Ctrl+B 命令快速运行。1、将PHP程序设置到环境变量中,在任意目录下都可执行php;通过win+R输入sysdm.cpl打开系统属性(也可以通过计算机右击->属性转载 2018-01-18 17:44:50 · 648 阅读 · 0 评论 -
系统80端口被占用解决办法
我的解决过程1:进入命令提示行(开始运行输入 CMD),输入命令 netstat –ano 查看80端口被谁占用2:在左边依次将其展开(HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/HTTP) 修改start的值为0保存重启但是问题没有解决3:度娘上看到sqlserver2008日志服务原因 突然想起前几原创 2017-12-15 11:45:57 · 760 阅读 · 0 评论 -
hp-fpm占用内存过高分析
1、查看php-fpm的进程个数 ps -fe |grep "php-fpm"|grep "pool"|wc -l2、查看每个php-fpm占用的内存大小ps -ylC php-fpm --sort:rss3、查看单个php-fpm进程消耗内存的明细pmap $(pgrep php-cgi | head -1)这里可以根据需要减少不必要的模块加载。php-fpm的参数优转载 2017-10-10 14:50:54 · 821 阅读 · 0 评论 -
如何减少PHP-FPM的内存占用
PHP-FPM是PHP的FastCGI过程管理器。在类Unix操作系统(包括Linux以及BSD系统)中,PHP-FPM通过安装php5-fpm(Linux)或者php56-fpm(FreeBSD 10.1)来使用。但是缺省安装以及按照大量博客推荐安装的PHP-FPM的最大问题是它会消耗大量资源,包括内存和CPU。本博客使用的服务器也遭遇了类似的命运。因为我也是按照那些教程安装的,而教转载 2017-10-10 14:49:57 · 3790 阅读 · 0 评论 -
避免 php-fpm 耗尽内存导致宕机
今天早上又收到服务不可用的邮件,上次收到大约是一月前,一直很奇怪是什么原因导致的宕机,记得上次处理好像是重启了php-fpm就好了,今天登上服务器没有急着重启服务,还是一步步排除错误。首先检查下个服务是否处于启动状态,由于我的 mysql 还是在另一台服务器上放着,用 ss -tln 命令查看后确认服务都处于正常开启状态,然后再看服务器的负载情况:确认是不是由于负载过大而引转载 2017-10-10 14:48:34 · 4154 阅读 · 0 评论 -
hp中cookie实现二级域名可访问操作的方法
本文实例讲述了php中cookie实现二级域名可访问操作的方法。分享给大家供大家参考。具体方法如下:cookie在一些应用中很常用,假设我有一个多级域名要求可以同时访问主域名绑定的cookie,下面就来给大家具体介绍在php中利用setcookie实现二级域名可以成功访问主域名cookie值的方法.有时候两个域名可能在不同的服务器上,但是我们依然希望二级域名能够顺利访问主域名的co转载 2017-09-08 15:06:28 · 353 阅读 · 0 评论 -
在一个数组任意位置插入另外一个数组
<?php $arr=array('a','b','c','d','e','f','g');//目标数组$i_arr=array('1','2');//要插入的数组$n_arr=array_keys($arr , 'd' ,true);$n=$n_arr[0];//插入的位置array_splice($arr,$n,0,$i_arr);print_r($arr);执行结果Arr转载 2017-08-09 17:10:41 · 2559 阅读 · 0 评论 -
php中的func_num_args、func_get_arg与func_get_args函数
php的的func_num_args、func_get_arg和func_get_args都是返回函数实参相关的函数。func_num_args:实参个数;func_get_arg:返回某一个实参,必须事实参数组的索引;func_get_args:返回实参数组;<phpfunction test(){ echo func_num_args();转载 2017-07-04 13:50:28 · 267 阅读 · 0 评论 -
thinkcmf整合ucenter
我是安装好thinkcmf后整合的ucenter第一步: 到ucenter开发接口处 http://faq.comsenz.com/library/UCenter/example/example_index.htm 下载示例包第二步: 将示例包中的文件夹api/ code/ include/ uc_client/ 和 文件co原创 2016-07-13 16:15:06 · 1017 阅读 · 1 评论 -
discuz低版本整合ucenter
我用的是discuz7.2按照步骤整和好ucenter后,访问discuz出错。如下Error:Table 'ucenter.uc_pms' doesn't existErrno:1146SQL::SELECT count(*) FROM `ucenter`.uc_pms WHERE (related='0' AND msgfromid>'0' OR msgfromid='0') AN原创 2016-07-13 16:00:43 · 367 阅读 · 0 评论 -
php中fsockopen模仿post与get详解
在php中fsockopen函数可以模仿用户去访问一些网站并且还可以带一些常用的信息,如果浏览器,IP,post,get 等等数据,下面我分别一来给大家介绍介绍。如果你要使用fsockopen函数我们必须在php.ini中把allow_url_fopen = On 设置为开启状态。例 fsockopen() Example 代码如下 复制代码转载 2016-07-13 14:48:55 · 2861 阅读 · 0 评论 -
PHP中单引号和双引号的区别
在PHP中,字符串的定义可以使用英文单引号’ ‘,也可以使用英文双引号” “。 但是必须使用同一种单或双引号来定义字符串,如:’Hello World”和”HelloWorld’为非法的字符串定义。 单引号和双引号到底有啥区别呢? PHP允许我们在双引号串中直接包含字串变量。 而单引号串中的内容总被认为是普通字符,因此单引号中的内容不会被转义效率更高。 比如:view so转载 2016-01-31 17:22:44 · 321 阅读 · 0 评论 -
php cookie立即生效的办法
echo time(); $test=time(); cookie("test",$test,time()+3600*2); echo ""; print_r($_COOKIE); echo ""; //PHP COOKIE设置函数立即生效。 function cookie($var, $value='',$time=0){ $_COOK转载 2016-01-31 17:21:34 · 701 阅读 · 0 评论 -
ecshop添加新的配送方式(转)
一.打开includes\modules\shipping文件夹,把sto_express.php复制多一份,重名为tt_express.php; 二.打开tt_express.php,ctrl+F调出“查找替换框”将所有“sto_express.php”替换成“tt_express.php”,所有“申通快递”替换成“天天快递”; 三.打开languages\zh_cn\shi原创 2016-01-31 17:15:26 · 336 阅读 · 0 评论 -
php缓存技术总结(转)(二)
6、内存式缓存提到这个,可能大家想到的首先就是Memcached;memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。它就是将需要缓存的信息,缓存到系统内存中,需要获取信息时,直接到内存中取;比较常用的方式就是key-->value方式;原创 2016-01-31 17:15:23 · 214 阅读 · 0 评论 -
php判断请求是否是ajax
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) ) { if('xmlhttprequest' ==strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])) return true; } }原创 2016-01-31 17:15:16 · 235 阅读 · 0 评论 -
PHP生成随机密码的4种方法及性能对…
方法四:本方法是本文被蓝色理想转载后,一名网友提供的一个新方法,算法简单,代码简短,只是因为md5()函数的返回值的缘故,生成的密码只包括字母和数字,不过也算是一个不错的方法。算法思想:1、time() 获取当前的 Unix 时间戳2、将第一步获取的时间戳进行 md5() 加密3、将第二步加密的结果,截取 n 位即得想要的密码view sourceprint?1.funct原创 2016-01-31 17:14:53 · 234 阅读 · 0 评论 -
PHP生成随机密码的4种方法及性能对…
方法一:1、在 33 – 126 中生成一个随机整数,如 35,2、将 35 转换成对应的ASCII码字符,如 35 对应 #3、重复以上 1、2 步骤 n 次,连接成 n 位的密码该算法主要用到了两个函数,mt_rand ( int $min , int $max )函数用于生成随机整数,其中 $min –$max 为 ASCII 码的范围,这里取 33 -126 ,可以根据需要调整范原创 2016-01-31 17:14:50 · 252 阅读 · 0 评论