PHP
lihaitao_1
这个作者很懒,什么都没留下…
展开
-
WebSocket即时聊天
WebSocket即时聊天这是我个人看了一些博客和资料对websocket的了解,如果有错误的地方希望大家指出,互相学习。我建议大家可以读读这基本书,可能对websocket有更深如的理解。图解http和websocket权威指南。图解websocket网上有英文版的,用有道翻译不是很难。 用php写即时聊天系统,最简单的方法就是用ajax写,通过设置轮询每隔3秒左右请求一次服务转载 2015-08-09 07:48:24 · 605 阅读 · 0 评论 -
最全面的常用正则表达式大全
很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。一、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$转载 2016-01-09 16:54:40 · 236 阅读 · 0 评论 -
php301跳转
<?php$the_host = $_SERVER['HTTP_HOST'];//取得当前域名$the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分$the_url = strtolower($the_url);//将英文字母转成小写if($the_url=="/index.p原创 2016-01-28 14:25:58 · 924 阅读 · 0 评论 -
超级有用的9个PHP代码片段
摘要:在开发网站、app或博客时,代码片段可以真正地为你节省时间。今天,我们就来分享一下我收集的一些超级有用的PHP代码片段。一起来看一看吧!在开发网站、app或博客时,代码片段可以真正地为你节省时间。今天,我们就来分享一下我收集的一些超级有用的PHP代码片段。一起来看一看吧!1.创建数据URI数据URI在嵌入图像到HTML / CSS / JS中以节省HTTP请求时非常有转载 2016-03-31 08:42:09 · 438 阅读 · 0 评论 -
YII 邮件发送功能
首先下载mailer,放在yii的protected-》extensions文件夹下然后就是代码$subject = "邮箱标题"; $body = "内容"; $mail = Yii::createComponent('common.extensions.mailer.EMailer');//路径,一定要找对 $mail->原创 2016-03-10 16:48:38 · 499 阅读 · 0 评论 -
YII通过db执行sql语句可以看下面
通过db执行sql语句可以看下面//添加Yii::app()->db->createCommand()->insert('tbl_user', array('username' => 'zhangsan','email' => 'zhangsan@zs.com'));//修改 Yii::app()->db->createCommand()->update('tbl_use原创 2016-03-22 17:58:38 · 2956 阅读 · 0 评论 -
40+个对初学者非常有用的PHP技巧(一)
摘要:今天我们要介绍一些关于改善和优化PHP代码的提示和技巧。请注意,这些PHP技巧适用于初学者,而不是那些已经在使用MVC框架的人。今天我们要介绍一些关于改善和优化PHP代码的提示和技巧。请注意,这些PHP技巧适用于初学者,而不是那些已经在使用MVC框架的人。1.不要使用相对路径,要定义一个根路径这样的代码行很常见:require_once('../../lib/so转载 2016-04-08 09:20:29 · 810 阅读 · 0 评论 -
深入理解PHP之:Nginx 与 FPM 的工作机制
作者:仁风H链接:http://zhuanlan.zhihu.com/p/20694204来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。网络上有很多关于如何配置 Nginx + FPM 的文章,但它们更多从操作的角度出发,告诉我们怎么做,但却没有告诉我们为什么要这么做,本文从 Nginx 与 FPM 的工作机制出发,探讨配置背后的原理,让我们真正转载 2016-04-18 10:15:53 · 1475 阅读 · 0 评论 -
理解PHP中的stdClass类
在百度百科中,对于stdClass的定义如下:stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。凡是用new stdClass()的变量,都不可能会出现$a->test()这种方式的转载 2016-05-26 10:11:20 · 3366 阅读 · 0 评论 -
知道这20个正则表达式,能让你少写1,000行代码
正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码:var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; var r转载 2016-04-21 15:24:29 · 1146 阅读 · 0 评论 -
解决应用服务器集群的Session问题
先来看一下什么是Session。用户使用网站的服务,基本上需要浏览器与Web服务器的多次交互。HTTP协议本身是无状态的,需要基于HTTP协议支持会话状态(Session State)的机制。而这样的机制应该可以使Web服务器从多次单独的HTTP请求中看到“会话”,也就是知道请求是来自哪个会话的。具体实现方式为:在会话开始时,分配一个唯一的会话标识(SessionId)转载 2016-05-30 09:15:37 · 2364 阅读 · 0 评论 -
PHP 查询MySql int类型返回string
这个原因是由于PDO查询,配置导致的。PDO::ATTR_EMULATE_PREPARES设为false还是true,当为true时返回就是字符串,false就是和MySql类型一样。但是decimal(10,2)的类型都是string,输出的数据是正确的。这样返回string类型给程序是安全的,之后可以进行类型转。原创 2016-06-01 10:55:55 · 2065 阅读 · 0 评论 -
php7.0 9000端口未监听
错误日志:connect() failed (111: Connection refused) while connecting to upstream, client: 54.208.84.106, server: xxx.com, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host:用这个命令 :n原创 2016-12-13 17:49:14 · 5497 阅读 · 0 评论 -
php中curl封装
public static function postcurl($data){ $ch = curl_init(); // 设置curl允许执行的最长秒数 curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($ch, CURLOPT_RETURNTRANS原创 2017-02-08 08:47:10 · 498 阅读 · 0 评论 -
PHP预定义接口之 ArrayAccess
ArrayAccess 先说 ArrayAccess 吧!ArrayAccess 的作用是使得你的对象可以像数组一样可以被访问。应该说 ArrayAccess 在PHP5中才开始有的,PHP5中加入了很多新的特性,当然也使类的重载也加强了,PHP5 中添加了一系列接口,这些接口和实现的 Class 统称为 SPL。ArrayAccess 这个接口定义了4个必须要实现的方法:转载 2017-02-09 16:52:00 · 447 阅读 · 0 评论 -
yii的mongodb拓展YiiMongoDbSuite的配置与使用
目前项目使用的是yii框架,使用mongo拓展效率会更加高些,在网上搜了下,主流的是YiiMongoDbSuite,但是对应的中文文档不全,在这边写个小的测试程序mongodb的安装和配置请参考上篇博文一, 使用客户端工具查看mongodb为了方便查看mongodb数据,win下可使用MongoVUE远程查看按照说明安装即可,安装后连接需要查看的mongodb转载 2017-03-15 08:59:56 · 828 阅读 · 0 评论 -
windows 安装laravel5.1常遇错误
先保证composer安装正确如果出现could not open input file composer.phar那么就配置环境变量,把C:\ProgramData\ComposerSetup\bin\composer.phar 加到path里然后在运行cmd-》composer self-update,看看是否正确。 1.首先你要更新到最新版本:php composer.p原创 2015-12-06 14:24:14 · 641 阅读 · 0 评论 -
php7 一键安装
需要把 php 路径 设为环境变量D:\phpweb\Apache2.4\php7 设成环境变量这是下载路径360云盘,下载有问题联系我。http://yunpan.cn/c33AxPJbjq5hd 访问密码 788f原创 2015-12-05 13:28:28 · 473 阅读 · 0 评论 -
PHP动态压缩js,css
正式发布产品时,我们希望将项目里的js,css合并压缩,以减少http请求、防止轻易查看源代码。##使用 只需要在头部引入一下代码即可: meta charset="utf-8"/> title>demotitle> //定义需要压缩的文件 $css = array( CSS_PATH . 'base.css',转载 2016-01-06 11:08:56 · 497 阅读 · 0 评论 -
websocket:数组转换成websocket数据
这是我写即时聊天遇到的问题。如果是简单的即时聊天,可以直接返回字符串。但是我的聊天信息要从数据库获得,所以就要用到数组了。其实也很简单,就是把数组转换成json数据就可以了,然后再用websocket协议传过去。上代码这是取出数据库的数据 function get_message($sendid,$accessid) { $arr = ''; mysql_sele原创 2015-08-24 14:00:16 · 5389 阅读 · 0 评论 -
PHP模板原理
http://sorryworld.blog.51cto.com/7677452/1271645http://www.phpernote.com/php-template-framework/846.html转载 2015-08-28 17:56:33 · 418 阅读 · 0 评论 -
PHP内置数组函数详解(1)
一、数组的键|值操作函数1.函数array_values()该函数是返回数组所有元素的值,只有一个必选参数,规定传入给定的数组。返回一个包含所有数组“值”的数组,但是不保留键名,被返回的数组键key,是重新建立索引,从0开始递增。适用于数组下标混乱的数组或者把关联数组转换成索引数组。<?php$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");pr原创 2015-09-26 08:30:35 · 531 阅读 · 0 评论 -
PHP的foreach和其它循环的区别
while(expr) statementwhile语句告诉PHP只要while表达式的值为TRUE就重复执行嵌套中的循环语句。表达式的值在每次开始循环时检查,所以即使这个值在循环语句中改变了,语句也不会停止执行,直到本次循环结束。如果表达式一开始是false,循环语句一次都会执行。do-whiledo-while循环和while循环非常相似,区别在于表达式的值是原创 2015-09-13 09:14:20 · 870 阅读 · 0 评论 -
PHP内置数组函数详解(2)
二、统计数组元素的个数和唯一性1.函数count(mixed var[,int var])函数作用是计算数组中的元素数目或对象中的属性个数。对于数组返回元素的个数,对于其他值则返回1,如果参数是变量而变量没有定义或变量包含一个空的数组,函数返回0.第二参数是可选的,值为0或1,0为默认值,不检测多维数组。<?php$people = array("Peter", "Joe", "原创 2015-09-26 09:20:20 · 637 阅读 · 0 评论 -
php从右向左截取字符串
很简单,先介绍两个函数str代表字符串,char代表字符strpos(str,‘char’)返回char第一次出现的位置substr(str,start,length),返回截取字符串从start开始到length所以从右向左例如截取about.html的aboutsubstr('about.html',0,strpos('about.html','.'))原创 2015-11-09 15:28:51 · 2942 阅读 · 0 评论 -
ThinkPHP 伪静态问题
今天写代码,配置了伪静态'URL_HTML_SUFFIX'=>'.html',可能读的文档不太仔细,以为配置好了,url自动会加上伪静态,其实不会加上,只是有和没有伪静态都可以访问。如果想生成后面的伪静态:1、手动加上,2、用U方法原创 2015-09-21 15:59:15 · 409 阅读 · 0 评论 -
phpstudy 配置虚拟域名
配置虚拟域名1.打开站点域名管理配置自己的虚拟域名,绑定文件2.打开http.conf文件找到 Include conf/extra/httpd-vhosts.conf,把前面的#号去掉3.如果出现 not input file specified找到项目下的.htaccess,修改伪静态规则.htaccess里面的规则:RewriteEngine OnRewri原创 2015-10-29 10:43:39 · 2128 阅读 · 0 评论 -
ThinkPHP3.2 Widget扩展
我暂时对Widget的理解,就是一些页面有相同的地方例如导航栏(这里只是举个例子),当然我们可以用thinkphp的继承模板来实现,但是有些页面不需要导航栏,我们就可以用Widget的扩展,用W()函数调用他。Widget最好用的就是可以当做独立的模板使用,就相当于ifram,嵌套在调用他的模板里。实现Widget的扩展步骤一、在Widget文件夹定义一个控制层如果没有Wi原创 2015-11-24 11:26:03 · 889 阅读 · 0 评论 -
ThinkPHP 域名部署
这是昨晚经理提的需求,一个域名用于手机访问,一个域名用于PC访问域名部署前,先要在配置文件开启APP_SUB_DOMAIN_DEPLOY'APP_SUB_DOMAIN_DEPLOY' => 1, // 开启子域名或者IP配置'APP_SUB_DOMAIN_RULES' => array( /* 域名部署配置 *格式1: 'www.pc.com'=>原创 2015-11-25 09:06:04 · 823 阅读 · 0 评论 -
PHP底层的运行机制与原理
PHP底层的运行机制与原理2015-11-16 11:17 Veda 原型 字号:T | TPHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的UI框架。AD:PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。转载 2015-11-25 13:38:49 · 319 阅读 · 0 评论 -
apache设置默认首页
直接上代码在apache的conf文件夹下httpd.conf文件里然后搜索IfModule dir_module,会出现下面代码 DirectoryIndex index.php index.html server.php修改你需要的默认文件。原创 2016-01-18 13:40:54 · 998 阅读 · 0 评论 -
Laravel5.1教程 前言
Laravel5.1教程 前言一、laravel简介:Laravel是php框架届的TOP1,有着良好的架构和前沿的设计思想。其他客套话就不说了,反正就是还可以。二、本教程版本选择:本教程选用5.1版本,目前最新的是5.2,刚出不久,还不稳定。5.1版本是官方指定的长期维护版本,也是laravel的第一个长期维护版本。三、学习要求:熟悉oop思想,能理解命名空间、了原创 2016-01-04 16:07:55 · 398 阅读 · 0 评论 -
第一章 运行环境的安装及框架的获得
Laravel5.1教程 第一章 运行环境的安装及框架的获得 一、环境要求php5.6以上,由于laravel暂时不支持php7,so,你只能选php5.6。使用laravel需打开以下扩展:1、OpenSSL PHP2、PDO PHP3、Mbstring PHP 此外,由于laravel使用Composer 管理依赖,你的环境必须安装Compose原创 2016-01-04 16:09:27 · 494 阅读 · 0 评论 -
第二章 phpstorm的安装使用
第二章 phpstorm的安装使用 一、简介使用Laravel开发程序使用什么IDE好呢,个人推荐phpstorm,phpstorm的代码补全,代码追踪都很好使,特别是在命名空间的补全查找上很好使。本章简单phpstorm的安装和使用,使用版本7.1.3,phpstorm比较占用内存,机器不好的人,建议使用此版本,安装包可以在群共享中下载,laravel交流群(群号:433606原创 2016-01-05 11:19:11 · 610 阅读 · 0 评论 -
第三章初识laravel,helloWorld的MVC实现
第三章初识laravel,helloWorld的MVC实现 一、简单粗暴的laravel4部曲Laravel的程序主干,对我们使用者来说,主要就是4步:第一步:绑定路由第二步:写controller第三步:写model第四步:写view本章教程将严格按照这四步为你演示基于mvc的“helloworld”,让你了解laravel程序的一般开发流程。二,基于lara原创 2016-01-05 13:07:45 · 2851 阅读 · 0 评论 -
第三章 正确认识MVC
Laravel5.1教程 第三章正确认识MVC一、名词解释:MVC是一种软件设计模式。何为设计模式?设计模式通俗地讲,就是一大堆码农在生产实际中形成的通用的,固有的,久经考验的成熟思维模式、编程算法。这样的思维模式能简化软件开发,提高开发效率,避免重复造轮子。定位到MVC上,MVC解决的是我们程序的总体架构,决定了我们的程序由哪几部分构成。MVC全名是Model View Co原创 2016-01-06 10:23:13 · 603 阅读 · 1 评论 -
PHPer这样写代码也许更优雅
PHPer这样写代码也许更优雅Posted on 6月 1 2017 · php前言转眼间成为一名PHPer已经快整整两年了,在这期间也对如何写出可读性高,便于扩展的代码有了一些自己的想法。使用引用场景一:遍历一个数组获取新的数据结构也许你会这样写:1234567891011121314151617181920转载 2017-06-15 16:23:32 · 531 阅读 · 0 评论