PHP
文章平均质量分 56
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
Lankecms
这个作者很懒,什么都没留下…
展开
-
PHP的内置函数call_user_func()
UCenter源代码里有一个函数call_user_func,开始以为是自己定义的函数,结果到处都找不到。后来才知道call_user_func是PHP的内置函数,该函数允许用户调用直接写的函数并传入一定的参数,下面总结下这个函数的使用方法。call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:转载自:http://www.now转载 2014-03-27 23:23:49 · 587 阅读 · 0 评论 -
php中is_callable函数
bool is_callable ( callable $name [, bool $syntax_only = false [, string &$callable_name ]] )用来验证传递的参数$name是否是一个有效的方法,并且在类外是否能够正常调用,返回boolearn值$name 也可是是一个数组,用于存放检测的方法所在的类对象和方法名$syntax_转载 2014-03-27 23:17:23 · 1283 阅读 · 0 评论 -
了解php中die(),exit(),return的区别
die()停止程序运行,输出内容exit是停止程序运行,不输出内容return是返回值die是遇到错误才停止exit是直接停止,并且不运行后续代码,exit()可以显示内容。return就是纯粹的返回值了,但是也不会运行后续代码exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回转载 2014-03-31 21:42:12 · 780 阅读 · 0 评论 -
谈谈PHP闭包(Closure)的使用
不知不觉发现PHP已经出到了5.5版本,而自己一直在用PHP5.2,让我看起来像深山出来的小伙子一样,又土又落后。在我习惯在javascript中使用闭包之后,忽然间对PHP的闭包打起了兴趣。于是乎在网上下了个WAMP集成开发环境,是PHP5.3版本的(PHP5.3开始引入了闭包的特性),不得不说WAMP安装使用真的很方便。简单配置了一下,开始动手。 匿名函数提到闭包就不得转载 2014-03-31 21:40:39 · 446 阅读 · 0 评论 -
PHP的ini_set函数用法
PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便。 函数格式:string ini_set(string $varname, string $newvalue) 不是所有的参数都可以配置,可以查看手册中的列表。转载 2014-03-31 21:53:41 · 656 阅读 · 0 评论 -
php empty()和isset()的区别
在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。顾名思义,empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置。正是这种所谓的“顾名思义”,令我开始时走了些弯路:当一个变量值等于0时,empty()也会转载 2014-05-01 23:18:30 · 488 阅读 · 0 评论 -
php引用传值详解
最近有朋友在群里问到php中引用的用法问题,哥对此也一直一知半解,想起phpchina论坛曾经有过这样一篇帖子讲解引用传值的用法,于是挖出来放在博客上以響读者.原文作者:E蜗牛php的引用(就是在变量或者函数 、对象等前面加上&符号)在PHP 中引用的意思是:不同的名字访问同一个变量内容.与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址转载 2014-03-31 21:30:18 · 586 阅读 · 0 评论 -
PHP判断某个数组中是否存在指定的key,函数array_key_exists()
array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。语法:array_key_exists(key,array)<?php$arr=array("a"=>"Dog","b"=>"Cat");if (array_key_exists("a",$arr)) { echo "存在转载 2014-03-31 21:56:08 · 784 阅读 · 0 评论 -
Sublime Text 使用介绍/全套快捷键及插件推荐
如果说Notepad++是一款不错Code神器,那么Sublime Text应当称得上是神器滴哥。Sublime Text最大的优点就是跨平台,Mac和Windows均可完美使用;其次是强大的插件支持,几乎无所不能。开始使用Sublime Text:Sublime Text有Dev版本,推荐使用,一般推荐下载便携版本(Portable version),这样拿来拿去很方转载 2014-03-31 21:39:20 · 603 阅读 · 0 评论 -
PHP array_combine() 函数,合并两个数组来创建一个新数组
array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。如果其中一个数组为空,或者两个数组的元素个数不同,则该函数返回 false。<?php$a1=array("a","b","c","d");$a2=array("Cat","Dog","Horse","Cow");print_r(array_combine($a1,$原创 2014-03-31 21:45:13 · 2402 阅读 · 0 评论 -
PHP正则口诀
正则其实也势利,削尖头来把钱揣; (指开始符号^和结尾符号$) 特殊符号认不了,弄个倒杠来引路; (指\. \*等特殊符号) 倒杠后面跟小w, 数字字母来表示; (\w跟数字字母;\d跟数字) 倒杠后面跟小d, 只有数字来表示; 倒杠后面跟小a, 报警符号嘀一声; 倒杠后面跟小b, 单词分转载 2014-03-31 21:37:52 · 548 阅读 · 0 评论 -
PHP正则-贪婪匹配(最大匹配) 和最小匹配的问题。
贪婪匹配(最大匹配) 和最小匹配的问题。在抓取链接地址时,使用以下正则时发现,当在链接标题 链接标题中含有HTML代码时,不能抓取到地址。/]+href=[/"/']{0,1}([^>/"/'/s]+)[/"/']{0,1}[^>]*>([^>]+)/i尚若换成以下方式/]+href=[/"/']{0,1}([^>/"/'/s]+)[/"/']{0,1}[^>]*>(。+)/i转载 2014-03-31 21:41:31 · 2205 阅读 · 0 评论 -
成为一个PHP专家:缺失的环节
这一篇文章是“Becoming a PHP Professional”系列 4 篇博文中的第 1 篇。当浏览各类与PHP相关的博客时,比如Quora上的问题,谷歌群组,简讯和杂志,我经常注意到技能的等级分化。问题都类似于“我如何连接到MySQL数据库?”或者“我该如何扩展邮件系统才能在每小时发送超过一万封邮件,而不需要引入新的服务器?”我将PHP能力水平分为4个等级(可能适用于任何转载 2014-03-31 21:52:11 · 611 阅读 · 0 评论 -
php的@符号的作用
PHP中的at(@)是用于屏蔽错误信息、抑制报错的(如在方法调用时),有时候你希望自己来处理错误,而不是由系统自动处理。//@与unlink间要有空格@ unlink($filepath);//也可以写成:unlink($filepath);在上例中,去掉@时,如果被删除的文件不存在的话,则会显示文件不存在的错误;如果加上了@,则不会显示任何错误信息。因此可以自定义错误转载 2014-03-31 21:54:14 · 980 阅读 · 0 评论 -
浅谈PHP第四弹---递归函数
很多同学在学习递归函数的时候会感到头晕,无法搞清楚递归函数的原理和运行机制,本文将给大家详细讲解递归函数的运行机制和运用。那什么是递归函数呢?递归函数即为自调用函数,在函数体内直接或间接自己调用自己,但需要设置自调用的条件,若满足条件,则调用函数本身,若不满足则终止本函数的自调用,然后把目前流程的主控权交回给上一层函数来执行,可能这样给大家讲解,还是很难明白。好,那下面我们转载 2014-03-31 21:57:42 · 459 阅读 · 0 评论 -
PHP在引号前面添加反斜杠的原因及PHP去除反斜杠的办法
PHP程序为了防止注入或者溢出,通过PHP 指令 magic_quotes_gpc自动在双引号、单引号、反斜杠、NULL前面添加反斜杠“\”。但是我们为了读写html文档,里面自然有很多引号和双引号,这时候就要去掉添加的反斜杠。默认PHP 指令 magic_quotes_gpc是on的,也就是打开的。这时候就可以用stripslashes() 函数删除自动添加的反斜杠。用法就是:比转载 2014-03-31 21:40:04 · 1026 阅读 · 0 评论 -
PHP判断数组中是否存在相同的值
用到的函数:array_unique() 函数移除数组中的重复的值,并返回结果数组。例:$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");print_r(array_unique($a));输出结果:Array ( [a] => Cat [b] => Dog )然后用count函数得出单元数目,进行对比,看例子:$arr=array(原创 2014-03-31 21:56:42 · 1435 阅读 · 0 评论 -
PHP的静态变量介绍
静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中。一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会。就是说,下次再调用这个函数的时候,该变量的值会保留下来。只要在变量前加上关键字static,该变量就成为静态变量了。0102 function test()转载 2014-03-31 21:32:24 · 752 阅读 · 0 评论 -
thinkphp 404页面设置
直接定义空模块和空操作即可, 即建立一个EmptyAction.class.php, 代码:01.02. 03.class EmptyAction extends Action {04. 05.function _empty(){06.header("HTTP/1.0 404 Not Found");07.$this->display('Public:404');转载 2014-03-22 13:37:25 · 773 阅读 · 0 评论 -
让Json更懂中文(JSON_UNESCAPED_UNICODE)
我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式, 还会在一定程度上增加传输的数据量.echo json_encode("中文"); //"\u4e2d\u6587"这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得不自己写json_encode.而在PHP5.4, 这个问题终于得以解决, J转载 2014-03-22 13:53:20 · 4343 阅读 · 0 评论 -
php引用传值 变量函数对象的引用
php的引用(就是在变量或者函数 、对象等前面加上&符号)在PHP 中引用的意思是:不同的名字访问同一个变量内容.与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址变量的引用PHP 的引用允许你用两个变量来指向同一个内容$a=”ABC”;$b =&$a;echo $a;//这里输出:ABCecho $b;//这里输出:AB转载 2013-12-20 16:22:57 · 808 阅读 · 0 评论 -
PHP判断数组中是否存在相同的值
用到的函数:array_unique() 函数移除数组中的重复的值,并返回结果数组。例:$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");print_r(array_unique($a));输出结果:Array ( [a] => Cat [b] => Dog )然后用count函数得出单元数目,进行对比,看例子:$arr=ar原创 2013-12-22 22:47:49 · 1057 阅读 · 0 评论 -
谈谈PHP闭包(Closure)的使用
不知不觉发现PHP已经出到了5.5版本,而自己一直在用PHP5.2,让我看起来像深山出来的小伙子一样,又土又落后。在我习惯在javascript中使用闭包之后,忽然间对PHP的闭包打起了兴趣。于是乎在网上下了个WAMP集成开发环境,是PHP5.3版本的(PHP5.3开始引入了闭包的特性),不得不说WAMP安装使用真的很方便。简单配置了一下,开始动手。 匿名函数提到闭包就不得转载 2014-03-22 13:54:48 · 547 阅读 · 0 评论 -
php几个常用预定义变量,有关路径的
<?phpecho 'documentroot:'.$_SERVER['DOCUMENT_ROOT'].''; //根目录,在apache的配置文件里定义:httpd.conf 比如:DocumentRoot "D:/work/php_root"echo 'httphost:'.$_SERVER['HTTP_HOST'].''; //域名,比如:localhostecho 'phpself:转载 2014-05-04 23:29:29 · 991 阅读 · 0 评论 -
ob_start()使用和原理及缓存和生成html
Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想 在数据已经输出后,再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。 我们先举一个简单的例子,让大家对Output Control有一个大致的印象:转载 2014-04-04 20:32:19 · 659 阅读 · 0 评论 -
php __call()魔术方法介绍
PHP5 的对象新增了一个专用方法 __call(),这个方法用来监视一个对象中的其它方法。如果你试着调用一个对象中不存在或被权限控制中的方法,__call 方法将会被自动调用。例七:__call[html] view plaincopyphp class foo { function __call($name,$argu转载 2014-04-20 23:04:46 · 822 阅读 · 0 评论 -
PHP识别url重写请求
现在很多PHP程序都使用了url重写技术来优化url,但是有时候我们要在PHP程序中区分默认url的请求和url重写后的请求,这该如何处理呢?我的解决方案是在常量$_SERVER里面找答案,在不同的服务器中$_SERVER都会有一个索引用来记录重写请求访问重写之前的路径根据我的测试,部分主流服务器的索引如下IIS7 + Rewrite Module-> $_SERVER['转载 2014-05-06 22:04:19 · 1710 阅读 · 0 评论 -
php怎样判断一个字符串是否包含另一个字符串strpos()
使用函数strpos()strpos() 函数返回字符串在另一个字符串中第一次出现的位置。语法strpos(string,find,start)string必需。规定被搜索的字符串。find必需。规定要查找的字符。start可选。规定开始搜索的位置。该函数对大小写敏感。如需进行对大小写不敏感的搜索,请使用 stripos() 函数。例:原创 2014-04-05 21:25:13 · 18095 阅读 · 0 评论 -
php发送邮件教程,支持发送有附件的电子邮件-PHPMailer使用教程
/*PHPMailer是一个用于发送电子邮件的PHP函数包。它提供的功能包括: *.在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址 *.支持多种邮件编码包括:8bit,base64,binary和quoted-printable *.支持SMTP验证 *.支持冗余SMTP服务器 *.支持带附件的邮件和Html格式的邮件 *.自定义邮件头转载 2014-04-21 21:23:07 · 892 阅读 · 0 评论 -
几个PHP读取整个文件的函数readfile()、fpassthru()和file()
2.7.4 读取整个文件:readfile()、fpassthru()和file()除了可以每次读取文件一行外,还可以一次读取整个文件。PHP提供了4种不同的方式来读取整个文件。第一种方式是readfile()。可以使用如下一行语句来代替前面所编写的所有脚本:调用readfile()函数将打开这个文件,并且将文件内容输出到标准输出(浏览器)中,然后再关闭这个文件。readfil转载 2014-05-08 23:25:53 · 4313 阅读 · 0 评论 -
array_slice() 函数在数组中根据条件取出一段值,并返回。
定义和用法array_slice() 函数在数组中根据条件取出一段值,并返回。注释:如果数组有字符串键,所返回的数组将保留键名。(参见例子 4)语法array_slice(array,offset,length,preserve)参数描述array必需。规定输入的数组。offset必需。数值。规转载 2014-04-22 23:06:02 · 1384 阅读 · 0 评论 -
php中heredoc的使用方法
Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术。但是现在的一些论坛程序,和部分文章系统,都巧妙的使用heredoc技术,来部分的实现了界面与代码的准分离,phpwind模板就是一个典型的例子。如下:$name = '浅水游';print Untitled Document转载 2014-04-26 00:18:54 · 371 阅读 · 0 评论 -
PHP判断一个字符串是否在另一个字符串中
用到的函数tristr() 函数查找字符串在另一个字符串中第一次出现的位置。如果成功,则返回字符串的其余部分(从匹配点)。如果没有找到该字符串,则返回 false。语法stristr(string,search)参数描述string必需。规定被搜索的字符串。find必需。规定要查找的原创 2014-04-12 16:54:36 · 2777 阅读 · 0 评论 -
php中break与continue的区别和用法举例
break 用来跳出目前执行的循环,如下例: for($i=0;$i { if($i==8) { break; }转载 2014-04-12 17:11:16 · 1025 阅读 · 0 评论 -
PHP教程:PHP NOTICE级错误提示对程序性能影响的研究
很多人开发php的时候喜欢关掉一部分的错误提示,尤其是Notice级别的提示,这样做可以省去一些严格判断的代码。而平时开发喜欢开着E_ALL级别的我今天在接手同事的项目时,看着满屏幕Notice错误时突然想到了1个问题:在关掉错误提示时,那么程序代码中大量的notice级别错误是否会造成PHP性能下降,从而使关闭错误输出成为一个掩耳盗铃的做法呢?下面我来用性能测试来证明这个推论:转载 2014-06-01 15:53:44 · 1336 阅读 · 0 评论 -
func_get_args获取方法中参数,返回数组
func_get_args是获取方法中参数的数组,返回的是一个数组,与func_num_args搭配使用;func_num_args一般写在方法中,用于计数;使用方法如下:function foo($a='gg',$b='kk'){ $numargs = func_num_args(); echo "Number of arguments: $numarg转载 2014-06-04 23:14:07 · 873 阅读 · 0 评论 -
PHP Notice: Undefined index和Undefined variable问题的解决方法:
首先,这个不是错误,是warning。所以如果服务器不能改,每个变量使用前应当先定义。 方法1:服务器配置修改 修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE 方法2:对变量进行初始化,规范书写(比较烦琐,因为有大量的变量)。但还没有找到好定义方法,望大家指教 方法3:每个文件头部转载 2014-06-16 22:27:53 · 1969 阅读 · 0 评论 -
php中__autoload()方法详解和注意事项
PHP在魔术函数__autoload()方法出现以前,如果你要在一个程序文件中实例化100个对象,那么你必须用include或者require包含进来100个类文件,或者你把这100个类定义在同一个类文件中——相信这个文件一定会非常大。但是__autoload()方法出来了,以后就不必为此大伤脑筋了,这个类会在你实例化对象之前自动加载制定的文件。下边我们通过一个例子来看一下,具体的转载 2014-05-23 20:04:55 · 533 阅读 · 0 评论 -
PHP chmod() 函数改变文件模式
定义和用法chmod() 函数改变文件模式。如果成功则返回 TRUE,否则返回 FALSE。语法chmod(file,mode)参数描述file必需。规定要检查的文件。mode可选。规定新的权限。mode 参数由 4 个数字组成:第一个数字永远是 0第二个数字规定所有者的权限第二转载 2014-06-26 14:52:54 · 1245 阅读 · 0 评论 -
获取用户Ip地址通用方法常见安全隐患(HTTP_X_FORWARDED_FOR)
分析过程这个来自一些项目中,获取用户Ip,进行用户操作行为的记录,是常见并且经常使用的。 一般朋友,都会看到如下通用获取IP地址方法。function getIP() { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $realip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif转载 2014-06-28 15:53:42 · 876 阅读 · 0 评论