php程序设计
木木老蔫
活泼开朗,呵呵,热爱钓鱼
展开
-
php5.3 中废弃的功能全集
在看一些php5.3版本以前的教程时,举的例子在php5.3 中将得到警告。 如Function ereg_replace() is deprecatedPHP 5.3 中令人瞩目的废弃有3类。一是POSIX的正则表达式全部用Perl兼容正则表达式(PCRE)替代。二是Session相关用$_SESSION[] 全局变量来操作。三是对mysql操作的一些改变。改变详情:PHP 5.转载 2012-10-24 11:33:39 · 770 阅读 · 0 评论 -
php 获取客户端的ip、地理信息、浏览器信息、本地真实ip
// 作用取得客户端的ip、地理信息、浏览器、本地真实IP// create to time:2011-12-16 // name:wendi// qq:512244752//此文档编码类型:utf-8//程序使用://include("XXX.php") //引入类// $gifo = new get_gust_info();//实例化// $gifo->GetB转载 2013-01-23 18:17:56 · 834 阅读 · 0 评论 -
使用新浪的接口获取用户当前IP的位置地点身份城市地区
首先,新浪的接口地址为http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js你可以试着直接在浏览器中输入,他就返回一个json串,下面是例子var remote_ip_info = {"ret":1,"start":"61.135.152.0","end":"61.135.152.255","country":"\u4e2d原创 2013-01-23 16:06:12 · 2115 阅读 · 0 评论 -
对面向对象的认识
经常可以从开发人员口中听到“面向对象”这个词:场景1、A:我今天开始用面向对象的方法设计程序了!B:你怎么做的?A:我把保存文件、加载文件封装成了一个类,以后只要调用这个类就可以实现文件操作了。场景2、A:我开始学习Java了,面向对象的语言,你不要再学VB了,好土呀!B:VB怎么了?A:VB是面向过程的,已经过时了,Java中都是类转载 2013-01-11 14:28:03 · 764 阅读 · 0 评论 -
开源免费天气预报接口API以及全国所有地区代码!!(国家气象局提供)
国家气象局提供的天气预报接口接口地址:http://www.weather.com.cn/data/sk/101010100.htmlhttp://www.weather.com.cn/data/cityinfo/101010100.htmlhttp://m.weather.com.cn/data/101010100.html对于第三个接口,返回信息比较全面,也是以json转载 2013-01-31 14:29:51 · 2610 阅读 · 1 评论 -
PHP Date日期格式明细
格式字串可以识别以下 format 参数的字符串format 字符说明返回值例子日------d月份中的第几天,有前导零的 2 位数字01 到 31D星期中的第几天,文本表示,3 个字母Mon 到 Sunj月份中的第几天,没有前导零1 到 31l(“L”的小写字母)星期几,完转载 2013-01-31 12:05:11 · 740 阅读 · 0 评论 -
一个登陆安全的函数PHP mysql_real_escape_string() 函数
众所周知,我们现在访问大部分网站都需要我们登陆之后才能够获得更多的资源,所以开发网站的时候第一个想到的功能莫过于登陆与注册,其中登陆的时候就涉及的安全问题了,比如你的后台,是不希望大家都去登陆的,所以我们开通了几个账号,但是如果限制做的不好,就会被人利用,其中有一个函数就是限制这方面的。引用手册上的例子:定义和用法mysql_real_escape_string() 函原创 2013-01-21 18:11:40 · 884 阅读 · 0 评论 -
wamp5下虚拟机配置文档
Wamp下,虚拟机配置分为三个步骤,实例如下:1.修改Hosts文件C:\WINDOWS\system32\drivers\etc\Hosts127.0.0.1 dz1.test.com2.编辑wamp\bin\apache\Apache2.2.11\conf\extra\httpd-vhosts.conf文件,在文件底部加入以下代码ServerName dz1.test.转载 2013-01-21 15:23:23 · 979 阅读 · 0 评论 -
微信验证开发者代码,解决微信请求URL超时,你的服务器没有正确响应Token验证,请阅读消息接口使用指南
注册微信公众平台后要成为开发者,token可以随意定义,url输入的不行就通过不了,会提示url超时,或者你的服务器没有正确响应Token验证,请阅读消息接口使用指南,下面你要有你的主机,写一个php文件,内容如下,将此php文件的url地址写上就ok了<?phpdefine ( "TOKEN", "dismath" );$wechatObj = new wechatCallb原创 2013-02-18 13:50:55 · 19321 阅读 · 29 评论 -
php socket编程样例
客户端代码: 客户端代码: 1 <?php 2 error_reporting(E_ALL); 3 set_time_limit(0); 4 echo "TCP/IP Connection\n"; 5 6 $port = 1935; 7 $ip = "127.0.0.1"; 8 9 /*10 +---------------------转载 2013-01-05 13:43:06 · 576 阅读 · 0 评论 -
Memcached二三事儿
转自http://huoding.com/2012/12/30/205Memcached绝对称得上是NoSQL老兵!可惜随着时间的推移,Redis等后起之秀羽翼渐丰,Memcached相比之下已呈颓势。那我们还用不用学习它?答案是肯定的!毕竟仍然有很多项目依赖着它,如果忽视它,一旦出了问题就只有干瞪眼的份儿了。网络上关于Memcached的资料可以说是浩如烟海,其中不乏一些精彩之作,比如说转载 2013-01-05 16:04:42 · 675 阅读 · 0 评论 -
PHP 的比较运算与逻辑运算 的一些坑
1、以下值用 empty() 被判断为true:未赋值变量、未声明变量、0、"0"、""、false、null、空数组 array() 、对象的魔术方法 __get() 返回的值在低于 PHP5.0 的版本中,没有任何属性的对象也被 empty 判断为 true注意:empty() 只接受变量或变量的索引值或属性值,不能直接传入常量,也不能传入运算表达式,PHP 5.5 之后支持表达式转载 2012-12-28 16:05:20 · 923 阅读 · 0 评论 -
PHP获取汉字的拼音(全部与首字母)(转载)
<?php class GetPingYing { private $pylist = array( 'a'=>-20319, 'ai'=>-20317, 'an'=>-20304, 'ang'=>-20295, 'ao'=>-20292, 'ba'=>-20283, 'bai'=>-20265, 'ban'=>-20257, 'bang'=>-转载 2012-10-26 16:38:03 · 1583 阅读 · 0 评论 -
memcached状态stats参数详解
memcache的运行状态可以方便的用stats命令显示。首先用telnet 127.0.0.1 11211这样的命令连接上memcache,然后直接输入stats就可以得到当前memcache的状态。这些状态的说明如下:pidmemcache服务器的进程IDuptime服务器已经运行的秒数time服务器当前的unix时间戳versionmemcache版本转载 2012-11-09 11:19:26 · 1604 阅读 · 0 评论 -
只使用++运算实现加法,减法,乘法,除法PHP实现
加法function jiafa($a,$b){ for($i=0;$i<$b;$i++) { $a++; } return $a;}//echo jiafa(4,2);减法function jianfa($a,$b){ $c=0; while($b!=$a) { $b++; $c++; } echo $c;} // end f原创 2012-12-04 11:45:17 · 1250 阅读 · 0 评论 -
用PHP函数memory_get_usage获取当前PHP内存消耗量
用PHP函数memory_get_usage获取当前PHP内存消耗量:PHP性能优化过程中避免不了需要获取PHP内存消耗,使用memory_get_usage()函数可获取当前的内存消耗情况,函数使用简单,下面介绍下memory_get_usage()函数的用法与实例。一,函数原型int memory_get_usage ([ bool $real_usage = fa转载 2012-12-03 18:48:47 · 882 阅读 · 0 评论 -
获取中文字符串长度strlen 与 mb_strlen 区别
PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得 到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍的差异了(在 UTF-8编码下,一个汉字占3个字节)。mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算转载 2012-12-06 14:08:39 · 1479 阅读 · 0 评论 -
PHP数组操作汇总 php数组的使用技巧
对于Web编程来说,最重要的就是存取和读写数据了。存储方式可能有很多种,可以是字符串、数组、文件的形式等详细出处参考:http://www.jb51.net/article/27725.htm 数组,可以说是PHP的数据应用中较重要的一种方式。PHP的数组函数众多,下面是我学习的小结,借此记之,便于以后鉴之。 1. 数组定义 数组的定义使用 array()方式定义,可以定义空数转载 2012-12-10 11:22:01 · 561 阅读 · 0 评论 -
技术达人谈PHP底层工作原理
最近搭建服务器,突然感觉lamp之间到底是怎么工作的,或者是怎么联系起来?平时只是写程序,重来没有思考过他们之间的工作原理:PHP底层工作原理图1 php结构从图上可以看出,php从下到上是一个4层体系①Zend引擎Zend整体用纯c实现,是php的内核部分,它将php代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法、实现了基转载 2012-12-27 15:23:01 · 676 阅读 · 0 评论 -
利用Xdebug分析PHP程序,找出性能瓶颈
[文章作者:张宴 本文版本:v1.0 最后修改:2007.06.28 转载请注明出处:http://blog.s135.com] 经济学中有一条著名的80-20定律,引用到编程中,就是:80%的性能瓶颈是由20%的代码引起的。借助PHP的XDebug扩展,可以有效地找出这20%的代码。 一、安装配置 1、下载PHP的XDebug扩展,网址:http://xdebug.or转载 2012-12-28 13:50:03 · 1438 阅读 · 0 评论 -
把ci框架的控制器放入孙文件夹,ci控制器多层文件夹中,ci框架扩展路由
CI2.1 controller层目前只支持2级目录即http://xx.com/admin/some/detail/1实际我们经常会出现\\application\\controllers\\admin\\tools\\some.php上述的访问方式,即admin目录下的tools目录下的some.php文件应用中如果需要http://xx.c原创 2013-02-22 09:33:50 · 1735 阅读 · 0 评论 -
PHP中$_SERVER的详细参数与说明
PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用。 $_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root相关。$_SERVER['argv'] #传递给该脚本的参数。$_SERVER['argc'] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。$_SE转载 2013-04-01 10:03:56 · 740 阅读 · 0 评论 -
从网页上抓取内容的库simple_html_dom
简单范例phpinclude "simple_html_dom.php" ;// Create DOM from URL or file$html = file_get_html('http://www.google.com/');// Find all images foreach($html->find('img') as $element) echo $element转载 2013-03-25 09:44:49 · 1764 阅读 · 0 评论 -
php文件第一行有多余字符,css文件第一行不起作用,bom头在作怪
写php脚本的时候我们都会选择一个自己习惯的编辑器,在不得已的情况下我们不会去使用windows自带的文本文档去编辑的,但是用文本文档打开一个文件的速度要比打开重量级编辑器要快太多了,所以有时候我们在没开编辑器又要改文件的时候有时候会使用文本文档来操作。搞来搞去,发现运行总是出错,以前的解决办法就是把文件里的内容复制一份,新建一个文件copy进去,把以前的删除就ok,知道前面有个东西,不知道叫什么转载 2014-01-08 15:38:35 · 1318 阅读 · 0 评论 -
php页面回退的两种实现方法,php表单回退
你有没有遇到过这样的情况:表单出错而返回页面时,之前填写的信息全不见了。本文为大家介绍二种支持php页面回退的方法,供大家参考。方法1,使用Header方法设置消息头Cache-control1header('Cache-control: private, must-revalidate'); //支持页面回跳转载 2014-01-13 16:56:26 · 1499 阅读 · 0 评论 -
PHP面向对象程序设计的61条黄金法则
你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起 。 ----- Arthur J.Riel(1)所有数据都应该隐藏在所在的类的内部。(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。(3)尽量减少类的协议中的消息。(4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝转载 2014-01-24 10:47:41 · 1030 阅读 · 0 评论 -
htmlspecialchars和htmlentities区别是使用场景
一直都知道 PHP 中的 htmlentities 和 htmlspecialchars 函数都能把 html 中的特殊字符转换成对应的 character entity (不知道怎么翻译),也一直都知道 htmlentities 和 htmlspecialchars 函数有区别,但是一直都用不到这两个函数,也就没去研究过到底有什么区别。今天用到了,懒得看 PHP 手册里的鸟语,觉得这种问转载 2014-01-27 15:55:42 · 1662 阅读 · 0 评论 -
使用框架时特别是yaf,IDE不提示类,不补全还警告的解决
最近使用了yaf框架,众所周知,yaf框架是使用了php扩展,速度快,轻量,高效。可是我的IDE在继承或实例化的时候,会报警告,因为我并没有在哪个地方创建过类。当然这运行起来的时候是没有问题的,就像使用memcache的时候一样,new的时候并没有在哪个之前的文件写过class memcache。所以IDE就会有如下的提示(我用的是zend,eclipse同理):有感叹号提示你原创 2014-02-12 11:24:47 · 3979 阅读 · 0 评论 -
PHP实现下载功能的代码
PHP实现下载功能的代码,并实现安全下载,隐藏文件真实地址等,需要的朋友可以参考下wzskynet#163.com·php escapeshellcmd多字节编码漏洞·详细讲解PHP中缓存技术的应用·利用PHP V5开发多任务应用程序·详细解析 PHP 向 MySQL 发送数据过程·PHP实现静态发布的方法浅谈你一定会笑我“下载文件”如此简单都值得说转载 2014-02-12 11:22:50 · 899 阅读 · 0 评论 -
PHP通过字符串调用函数
1. call_user_funcfunction a($b,$c){ echo $b; echo $c;}call_user_func('a', "111","222");call_user_func('a', "333","444");//显示 111 222 333 444?>//调用类内部的方法比较奇怪,居然用的是array,不知道开发者是如何考虑的,当转载 2014-04-24 11:23:59 · 814 阅读 · 0 评论 -
Mac下PhpStrom配置Xdebug
Mac的PhpStrom配置XdebugXdebug简介Xdebug(远程)调试器允许测试数据结构,步进并且调试你的代码。Xdebug提供了两种协议用于与其进行交互:在Xdebug1.3和2中旧的GDB协议和Xdebug2中实现的DBGp协议。配置步骤1、说明使用Xdebug的调试,Xdebug作为一个嵌入到PHP的程序,扮演着客户端的角色,而IDE则作为服务器。当我们在浏览器上或者在IDE上通过参原创 2015-11-14 14:36:27 · 1063 阅读 · 0 评论 -
php读取文件末尾n行有效办法
小文件几兆以内大小,都可以通过file()函数,将文件按行读入数组,在用array_pop取得最后一行,就可以了。但是对于很大的文本文件来说,机器内存不够大,或者php本身memory_limit有限制,这个办法就不适用了,即使强行不限制,效率也是非常低的。没有办法了吗?当然有,不过没有现成的函数了,需要自己动手了。这里需要用到文件指针,学过C的应该知道指针式个嘛玩意,通俗的讲吧,PH转载 2014-01-06 11:46:40 · 2172 阅读 · 0 评论 -
windows下wamp安装php5.3扩展memcache
网上虽然有很多安装方法,但是看了无数个也没安装成个php的扩展,一直不能加载,还是自己慢慢弄吧安装扩展最重要的一步就是下载正确的dll文件我使用的是wamp,他的php版本为5.3.3,网上那些教程中给的全是5.2的memcache扩展文件,你下载下来也加载不了,或者有的给的5.3的却是vc9的,要知道我使用的wamp是使用apache做服务器的,相信大家也都是用apache做服务器的,所原创 2012-09-28 13:56:56 · 5208 阅读 · 0 评论 -
Eclipse for PHP Developers Helios汉化
点帮助,安装新软件,写上Babel Language Pack Metadata Repository - http://archive.eclipse.org/technology/babel/update-site/R0.10.0/helios回车,选择那个简体中文版的,安装,同意,重启,ok原创 2013-07-29 17:49:45 · 2197 阅读 · 0 评论 -
ci框架在pathinfo模式禁用的时候怎么办,BAE的配置文件app.conf
ci框架是个不错的框架,但是他采用路径格式的访问方式,但是bae禁用了这种方式,当然他也是有道理的,以后可能在其他地方也遇到这种情况,那么只好采用url 重写的方法。url^/index.php(.*)/index.php?$1如上所述即可达到效果,下面是从bae技术博客转来的app.conf使用方法,大家也可以直接去看http://原创 2013-04-12 11:22:29 · 2257 阅读 · 0 评论 -
PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep
PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone and __autoload1、__get、__set这两个方法是为在类和他们的父类中没有转载 2013-04-16 10:55:48 · 841 阅读 · 0 评论 -
CI的AJAX分页另类实现
看了一下CI的分页类没有写到关于AJAX的内容,也在论坛上看到其他几位大神写的分页类扩展,感觉其实是没有必要。在现有的基础上做了一下小小的改动还是能实现的。下面进入正题:CI的原生分页类中有一个参数 $config[anchor_class]这个参数是用来设置分页链接的样式的,所以我们可以设置成这样: ?$co转载 2013-04-16 11:04:00 · 930 阅读 · 0 评论 -
session原理总结
之前在学校的时候,只知道session与cookie的区别在于:session是保存在服务器端,cookie保存在客户端。session怎么样保存的?以文件的形式保存。自己去测试过。有的忘记了。对应session的id号模糊不清。在开发中,非常有必要弄明白具体细节。不能停留在使用session_start()函数了,然后获取session值。不知道里面的机制,在开发中遇到了新的问题,解决起来比较费转载 2013-05-07 11:01:47 · 711 阅读 · 0 评论 -
Eclipse安装SVN插件
Eclipse是一个优秀的开源IDE,目前支持C/C++、JAVA、JS、PHP等语言。 我使用的是"Eclipse IDE for C/C++ Developers"Version: Helios Release Build id: 20100617-1415该版本默认使用CVS插件进行版本管理。下面安装SVN插件,以便能下载Google Code转载 2013-07-29 15:37:48 · 806 阅读 · 0 评论 -
thrift 轻松实现多语言跨服务器通信
作者:ys250来源:http://www.ys250.com/2010/07/03/thrift_py_php/ thrift是由facebook开发的轻量级跨语言的服务框架,现在已经移交到apache基金会下。和他类似的是google出的protocol buffer和ice。 thrift的一大优势就是支持的语言很丰富,它使用自己的IDL语言来描述服务接口和数据交换的转载 2013-07-30 17:43:21 · 1057 阅读 · 0 评论