php
文章平均质量分 83
长江某菜鸟
没有什么是不可能的,只要坚持……
展开
-
php7.1微信公众平台消息安全模式的加密及解密
撰文前提php7.1发布后新特性吸引了不少PHPer,大家都在讨论新特性带来的好处与便利。但是从php7.0 升级到 php7.1 废弃(过时)了一个在过去普遍应用的扩展(mcrypt扩展)。官方提供了相应的解决提示,却没有提供更详细的解决办法。于是坑来了….下面是微信官方提供的消息加密解密算法中的核心部分/** * 对明文进行加密 * @param string $tex转载 2017-12-13 19:39:20 · 1498 阅读 · 0 评论 -
PHP中xml转json
json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true)原创 2017-08-14 15:39:19 · 8377 阅读 · 1 评论 -
php-socket通信演示
建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket 。套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。客户端请求:指客户端的套接字提出连接请求,要连接的目标转载 2017-07-27 13:49:42 · 486 阅读 · 0 评论 -
PHP单例模式
<?php class Test{ private static $instance; private function __construct(){ } public function __clone(){ } public static function getInstances(){ if(!self::$instance) self::$instanc原创 2017-05-22 19:25:16 · 251 阅读 · 0 评论 -
PHP实现QQ第三方登录
一、下载QQ的SDK开发包并把包中代码复制到项目根目录:二、 修改包中的配置文件,添加上APPID和APPKEY注意:配置文件中定义的回调地址必须与添加APP时一致:三、 添加点击QQ头像时弹出一个QQ登录窗口:点击对应的JS代码四、根据网站自身的需求实现QQ登录成功后的回调方法通过以上步骤,对QQ登录的接入基本完原创 2017-03-16 10:45:14 · 2881 阅读 · 0 评论 -
CURL大全
目前最完整的CURL中文说明,学PHP的要好好掌握,有很多的参数,大部份都很有用,真正掌握了它和正则,一定就是个采集高手了。PHP中的CURL函式库(Client URL Library Function)curl_close关闭一个curl会话curl_copy_handle拷贝一个curl连接资源的所有内容和参数curl_errno返转载 2017-03-18 23:25:19 · 721 阅读 · 0 评论 -
PHP使用curl伪造IP地址和header信息
curl虽然功能强大,但是只能伪造$_SERVER["HTTP_X_FORWARDED_FOR"],对于大多数IP地址检测程序来说,$_SERVER["REMOTE_ADDR"]很难被伪造:首先是client.PHP的代码view sourceprint?01$headers['CLIENT-IP'] = '2转载 2017-03-18 23:04:21 · 1789 阅读 · 0 评论 -
curl抓取gb2312网页时显示乱码
if(! mb_check_encoding($rs, 'utf-8')) { $rs = mb_convert_encoding($rs,'UTF-8','GB2312'); }原创 2017-03-18 12:24:47 · 1505 阅读 · 0 评论 -
Session与Cookie的区别与联系
一、Session的概念Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标识这个Session,并将其通过响应发送到浏览器。当浏览器第二次发送请求,会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存原创 2017-02-14 21:05:58 · 302 阅读 · 0 评论 -
PHP用barcode生成条形码
下载barcode将项目放到网站根目录示例代码 require_once('./barcode/class/BCGColor.php'); require_once('./barcode/class/BCGDrawing.php'); require_once('./barcode/class/BCGcode128.barcode.php');原创 2017-08-25 15:12:03 · 9664 阅读 · 0 评论 -
PHP发送短信验证码
短信费用:0.04/条下载alidayu的SDK加入到项目示例代码://发送短信验证码//tel 手机号//code 验证码//shop_name 商户名//type 短信模板 public function sendSMS($tel,$code,$shop_name,$type) { require_once './Application/al原创 2017-08-25 18:15:57 · 546 阅读 · 0 评论 -
centos7下安装php7
在centos7通过yum安装PHP7,首先在终端运行:rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm提示错误:error: Failed dependencies:epel-release >= 7 is needed by webtatic-release-7-3.noarch需要先安装ep原创 2017-12-13 19:05:19 · 2457 阅读 · 0 评论 -
快速生成网址二维码
说明:把url=后面的网址改成你的,四种任选一。http://pan.baidu.com/share/qrcode?w=150&h=150&url=http://lanyes.orghttp://b.bshare.cn/barCode?site=weixin&url=http://lanyes.orghttp://s.jiathis.com/qrcode.php?url=http://lanyes转载 2017-11-09 16:17:07 · 399 阅读 · 0 评论 -
PHP curl携带CA证书访问https
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true); curl_setopt($ch, CURLOPT_SSLCERT,dirname(__FILE__).'/card_test/apiclient_cert.pem'); //client.curl_setopt($ch, CURLOPT_SSLKEY, dirname(__FILE__).'/card原创 2017-11-09 09:37:01 · 10088 阅读 · 0 评论 -
使用PHPExcel实现Excel文件的导入和导出
在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是:1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽度,高度,边框颜色...)不能自定义;2.生成的文件虽然可以打开,但是兼容性很差,每次打开,都会报一个警告:今天使用一个第三方的SDK(PHPExcel)实现Excel文件的导入和导出。转载 2017-10-22 23:27:10 · 1618 阅读 · 0 评论 -
支付宝获取页面静态授权
<?phpif(empty($_GET['auth_code'])){ echo 'window.location.href = "https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=2016112703399275&scope=auth_base&redirect_uri=https://group.gre原创 2017-10-18 19:00:29 · 20209 阅读 · 0 评论 -
tp路由+伪静态+去掉index.php
之前一个网友说能不能达到这样的效果,www.olcms.com/news/id.html我当时说不能,后来想了想是可以的,今天试了试,已经实现,把步骤整理如下:1.在tp的配置文件中开启伪静态和路由如下return array(//'配置项'=>'配置值'//url访问模式为rewrite模式'URL_MODEL'=>'2',//开启伪静态'URL_HTML_SUF转载 2017-09-02 13:58:40 · 3700 阅读 · 0 评论 -
Session变量不能传送到下一页.解决: session.use_trans_sid = 1
在PHP中使用过SESSION的朋友可能会碰到这么一个问题,SESSION变量不能跨页传递。这令我苦恼了好些日子,最终通过查资料思考并解决了这个问题。我认为,出现这个问题的原因有以下几点:1、客户端禁用了cookie 2、浏览器出现问题,暂时无法存取cookie 3、php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable-trans-转载 2017-08-27 10:04:15 · 1223 阅读 · 0 评论 -
tinkphp中session无法跨方法获取
我已经出现过两次这种问题了,出现了两次就说明第一次没有解决彻底,所以表示thinkphp这个跨页后session为空而无法登陆的问题牵扯很多方面的问题了。经过这两次的研究,我觉得基本上能真正解决它了。第一次出现的时候,我以为是目录不可写,检查了半天没发现问题,于是各种百度,才发现别人也有遇得类似问题,就是跨页传递session为空。(温馨提示:不喜欢听流水账的可以略过以下两段,直接看下转载 2017-08-27 09:53:15 · 2973 阅读 · 2 评论 -
php导出excel(多种方法)
基本上导出的文件分为两种:1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已。修改这种文件后再保存,通常会提示你是否要转换成Excel文件。优点:简单。缺点:难以生成格式,如果用来导入需要自己分别编写相应的程序。2:Excel格式,与类Excel相对应,这种方法生成的文件更接近于真正的Excel格式。如果导出中文时原创 2017-01-26 12:18:19 · 906 阅读 · 0 评论 -
Apache中ab.exe做并发测试
<?php$file="./a.lock";$fp=fopen($file,'r');mysql_connect('localhost','root','');mysql_select_db('test');if(flock($fp,LOCK_EX)){ $result=mysql_query('select *from b'); $rst=mysql_fetch_asso原创 2017-01-25 15:53:54 · 348 阅读 · 0 评论 -
PHP中flock的使用
PHP flock 使用实例[php] view plain copy bool flock ( resource $handle , int $operation [, int &$wouldblock ] ) flock()允许执行一个简单的可以在任何平台中使用的读取/写入模型(包括大部分的Unix派生版和windows)在PHP原创 2017-01-24 16:59:52 · 394 阅读 · 0 评论 -
PHP字符串处理大全
addcslashes — 为字符串里面的部分字符添加反斜线转义字符addslashes — 用指定的方式对字符串里面的字符进行转义bin2hex — 将二进制数据转换成十六进制表示chop — rtrim() 的别名函数chr — 返回一个字符的ASCII码chunk_split — 按一定的字符长度将字符串分割成小块convert_cyr_string — 将斯拉夫语字原创 2016-11-20 22:01:23 · 291 阅读 · 0 评论 -
PHP中include与require的区别说明
require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的原创 2016-09-19 12:33:39 · 215 阅读 · 0 评论 -
php连接MySQL数据库
1,连接数据库:$mylink = mysql_connect(“localhost”, ‘root’, ‘123’);2,设定连接编码(通常是utf8)mysql_set_charset(“utf8”); //也可以使用:mysql_query(“set names utf8”);3,选择数据库(如有需要)mysql_select_db原创 2016-08-13 22:16:24 · 529 阅读 · 0 评论 -
static跟self的使用区别
PHP中static 和self的使用区别class A { public static function who() { echo __CLASS__; } public static function test() { self::who();// static::who(); }}A::test();原创 2016-09-13 09:46:09 · 1289 阅读 · 0 评论 -
php中GD的使用
<?php$width=500;$height=300;//创建画布$img=imageCreateTrueColor($width,$height);//分配颜色$green=imageColorAllocate($img,0,255,0);//填充画布imageFill($img,0,0,$green);//输出到文件 ./green.pngimagePNG($img,'.原创 2016-09-13 09:18:13 · 278 阅读 · 0 评论 -
http协议
请求行:request_line请求数据的第一行,用来说明当前请求的最基本信息。由三块组成:GET /index.php?p=back&c=Admin&a=login HTTP/1.1 换行方式 资源地址(没有域名) 协议版本 \r\n(回车换行CRLF) 请求头:request_header请求头信息,请求标头浏览器需要传输给服务器的原创 2016-08-21 17:46:38 · 779 阅读 · 0 评论 -
php中cookie的使用
1、增、删、改setcookie(key,value,time);例:setcookie('long_class_name','long_PHP#4',time()+60);2、获取$_COOKIE['key'];例:$_COOKIE['long_class_name'];3、路径默认:Cookie当前目录及后代目录有效若在子目录设置cookie原创 2016-09-10 16:29:14 · 228 阅读 · 0 评论 -
php中实现页面跳转
立即跳转header('Location:jump_2.php');提示后跳转header('Refresh:2;URL=jump_2.php');echo '即将跳转';原创 2016-09-09 20:37:32 · 467 阅读 · 0 评论 -
PHP常用数组处理函数
在数组中搜索一个特定值,如果找到返回TRUE否则返回FALSE boolean in_array(mixed needle,array haystack[,boolean strict]) 在数组中找到一个指定的健,如果找到返回TRUE否则返回FALSE boolean array_eky_exists(mixed key,array array) 在数组中搜索一个特定值,原创 2016-11-20 22:06:11 · 401 阅读 · 0 评论 -
PHP安装pthreads多线程扩展[windows篇]
一、判断PHP是ts还是nts版通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版。二、根据PHP ts\nts版选择对应pthreads的版本windows版本的下载地址http://windows.php.net/downloads/pec原创 2016-11-22 21:16:01 · 1009 阅读 · 0 评论 -
Wamp配置虚拟主机目录
将httpd.conf开启虚拟主机配置Include conf/extra/httpd-vhosts.conf 配置httpd-vhosts.conf文件将原来的内容删除,添加本地根目录 ServerAdmin postmaster@dummy-host2.localhost DocumentRoot "D:\wamp\apps\phpmyadmin3原创 2017-02-21 14:14:07 · 751 阅读 · 0 评论 -
linux下开启PHP 报错
1. 路径 :/etc/php5/apache2/php.ini2. 搜索并修改下行,把Off值改成Ondisplay_errors = Off3. 搜索下行error_reporting = E_ALL & ~E_NOTICE或者搜索:error_reporting = E_ALL & ~E_DEPRECATED修改为error_r原创 2017-02-20 17:10:09 · 860 阅读 · 0 评论 -
PHP完成发邮件功能
1、下载phpMailer开源包,注册一个邮箱服务器(如qq,163)2、在项目中定义一个函数,在函数中使用这个包来发邮件<?phpheader("Content-Type:text/html;charset=utf-8");//配置文件$conf= require './conf.php';function sendMail($to,$title,$content,$con原创 2017-02-10 16:19:12 · 959 阅读 · 2 评论 -
tp中create表单验证
Thinkphp 中$_validate 关键字是在模型中定义的自动验证数据的功能。验证的规则可以是进行数据类型、业务规则、安全判断等方面的验证操作。数据验证有两种方式:静态方式:在模型类里面通过$_validate属性定义验证规则。动态方式:使用模型类的validate方法动态创建自动验证规则。 无论是什么方式,验证规则的定义是统一的规则,定义格式为:[p原创 2017-01-12 20:59:04 · 1952 阅读 · 0 评论 -
tp中数据库相关操作
增加:M('表名')->add($data);删除:M('表名')->delete($id);更新:M('表名')->save($data);查询:M('表名')->select();原创 2017-02-08 16:37:15 · 374 阅读 · 0 评论 -
PHP中的AJAX无刷新分页
test.html dfsdfsffunction cgpage(obj){ var goal=$(obj).attr('href'); sendurl(goal);}function sendurl(url){ console.log(url); $.ajax({ url:url, dataType:'json'原创 2017-02-07 12:05:02 · 1887 阅读 · 0 评论 -
php中json_decode()和json_encode()的使用方法
json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量原创 2016-11-27 17:32:39 · 296 阅读 · 0 评论 -
PHP中9大缓存技术总结
1、全页面静态化缓存也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms,phpcms;一种比较常用的实现方式是用输出缓存:Ob_start();******要运行的代码*******$content = Ob_get_contents();****将缓存内容写入html文件*****原创 2016-12-05 12:59:43 · 233 阅读 · 0 评论