吴峰的博客

file_get_contents 和 curl 区别

  • 2018-10-15 11:11
  • 管理员
  • 1861 查看

file_get_contents 和 curl 区别1.curl 支持更多功能curl 支持更多协议,有http、https、ftp、gopher、telnet、dict、file、ldap;模拟 Cookie 登录,爬取网页;FTP 上传下载。fopen / file_get_contents 只能使用 GET 方式获取数据。2.性能curl 可以进行 DNS 缓存,同一个域名下的图片或其它资源只需要进行一次DNS查询。curl 相对来说更加快速稳定,访问量高的时候首选 curl,缺点就是相对于 file_ge...

php分布式部署

  • 2018-09-04 16:42
  • 管理员
  • 1935 查看

        普通的Web开发,常用的模式就是用户登录之后,登录状态信息保存在Session中,用户一些常用的热数据保存在文件缓存中,用户上传的附件信息保存在Web服务器的某个目录上。这种方式对于一般的Web应用,使用很方便,完全能够胜任。但是对于高并发的企业级网站,就应付不了了。需要采用Web集群实现负载均衡。  使用Web集群方式部署之后,首要调整的就是用户状态信息与附件信息。用户状态不能再保存到Session中,缓存也不能用本地Web服务器的文件缓存,以及附件,也不能...

几个比较实用的PHP函数

  • 2018-05-18 21:31
  • 管理员
  • 2215 查看

1. sys_getloadavg() sys_getloadavt()可以获得系 统负载情况。该函数返回一个包含三个元素的数组,每个元素分别代表系统再过去的1、5和15分钟内的平均负载。 与其让服务器因负 载过高而宕掉,不如在系统负载很高时主动die掉一个脚本,sys_getloadavg()就是用来帮你实现这个功能的。 不过很遗憾,该函数在windows下无效。2. pack() Pack() 能将md5()返回的32位16进制字符串转换为16位的二进制字符串,可以节省存储空间。&...

thinkphp中的setInc、setDec方法

  • 2018-04-27 13:46
  • 管理员
  • 1790 查看

thinkphp3.0增加setInc、setDec方法,今天查看thinkphp2.0的方法setInc、setDec时是这样写的: 而对于统计字段(通常指的是数字类型)的更新,系统还提供了 setInc 和 setDec 方法: $User = M( "User" ); // 实例化 User 对象 $User->setInc( 'score','id=5',......

php 中self,this的区别和实地操作

  • 2017-08-23 10:03
  • 管理员
  • 1814 查看

面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能。利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的。这里我主要谈的是this,self关键字之间的区别。从字面上来理解,分别是指这、自己。先初步解释一下,this是指向当前对象的指针(可以看成C里面的指针),self是指向当前类的指针。我们这里频繁使用指针来描述因为经常用框架的缘故,所以对PHP底层的一些运行机制和方法都不会了,所以最近比较喜欢研究这些底层的东西,...

thinkphp3.2子域名部署和路由优化

  • 2017-07-19 09:55
  • 管理员
  • 1978 查看
thinkphp3.2子域名部署和路由优化

前言:建立一个网站系统,往往包含多个子网站,例如PC官网,移动端官网,后台管理,代理后台等。数据源自一个相同的数据库,整个架构上,从ThinkPHP来看,可以大体理解为Model(M)是一样的,Controller(C)包含共用API部分和不共用部分,View则是完全不共用的,这里在整个初始架构的时候,我们可以主要从以下几个方面去考虑:配置共用的数据库、扩展Application里面的模块、自定义视图文件夹、子域名部署、路由简化(DEMO详见附件)....具体操作如下:1、准备ThinkPHP环境、数据库 ...

Linux下php安装Redis扩展

  • 2017-05-23 13:53
  • 管理员
  • 1746 查看

注意:目录的权限   chomd 777 -R 1、安装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 p......

如何判断微信内置浏览器(JS & PHP)

  • 2017-03-22 14:17
  • 管理员
  • 1879 查看

进行微信公众账号开发的时候,其中很大一块是微站点的开发,我们需要知道当前的浏览器是微信内置的浏览器,那么如何判断呢?微信内置浏览器的 User Agent如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent,经过在 iPhone 上微信的浏览器的检测,它的 User Agent 是:Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329...

php与C++的socket通讯——内容体使用protobuf存储

  • 2017-03-11 14:42
  • 管理员
  • 2946 查看

php与C++的socket通讯——内容体使用protobuf存储首先了解需求的前提:PHP和C++进行socket通讯,用C++作为服务器端,php作为客户端进行,消息包使用protobuf存储。socket通讯是基于协议的,因此,只要双方协议一致就行。关于协议的选择:我看过网上大部分协议都是在应用层的协议,选用这样的协议很方便,基本上就是字符串传过来,传过去本次研究的协议算是当今国际化的一个标准做法:len......

PHP最恶心人的面试—手写增删改查功能

  • 2017-03-02 15:01
  • 管理员
  • 1804 查看

1.首先创建一个通用方法:conn.php<?php//第一步:连接数据库$conn = @mysql_connect("localhost:3306","root","root") or die("Mysql连接失败");//第二步:选择指定的数据库,设置字符集@mysql_select_db("performance_schema",$conn) or die("数据库连接失败,错误信息:".mysql_error());mysql_query("SET NAMES UTF8") or die("字符集设...

Copyright 吴峰的博客 © 2014-2016 管理员邮箱:phpwufeng@163.com   统计:   ICP备案:鲁ICP备16004939号-1