摘要: PHP 为你提供一个叫__toString() 的函数,你可以用它来返回表示对象的字符串信息,而且一旦定义它,打印命令将调用它并打印出返回的字符串。View Code <?phpclass Person{ private $name; function __construct($name) { $this->name = $name; } function __toString() { return $this->name; }}$obj = new Person("小明");print $obj;?>输出结... 阅读全文
posted @ 2013-03-22 10:43 火腿骑士 阅读(1001) 评论(0) 推荐(0)
摘要: class Foo{ private function priFunc(){} protected function proFunc(){} public function pubFunc(){}} function get_class_all_methods($class){ $r = new ReflectionClass($class);//反射类 foreach($r->getMethods() as $key=>$methodObj){ if($methodObj->isPrivate()) $methods[$key... 阅读全文
posted @ 2013-03-22 10:39 火腿骑士 阅读(159) 评论(0) 推荐(0)
摘要: php魔术方法get和set举例Posted by 深 呼吸 日期: 2012/10/15 (0)查看评论一般来说,总是把类的属性定义为private,这更符合现实的逻辑。但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数魔术方法:“__get()”和“__set()”。 ?[Copy to clipboard]View Code PHP12345678910111213141516171819202122232425262728293031<?phpclass Person { //下面是人的成员属性, 都是封装的私有成员 private $name; //人 阅读全文
posted @ 2013-03-22 10:37 火腿骑士 阅读(277) 评论(0) 推荐(0)
摘要: PHP正确匹配图片路径123456789<?php //取得页面所有的图片地址 function getimages($str) { $match_str = "/((http://)+([^ rn()^$!`"'|[]{}<>]*)((.gif)|(.jpg)|(.bmp)|(.png)|(.GIF)|(.JPG)|(.PNG)|(.BMP)))/"; preg_match_all ($match_str,$str,$out,PREG_PATTERN_ORDER); return $out; } ?>我使用kindeditor保存 阅读全文
posted @ 2013-03-22 10:20 火腿骑士 阅读(602) 评论(0) 推荐(0)
摘要: PHP通用的防注入过滤用户字符串函数今天做完了整个php项目,想来安全问题不少,开发程序的过程中无心过滤参数。所以注入少不了,才有了下面的防注入程序。123456789101112131415161718192021222324252627282930313233343536373839404142434445function jk1986_checksql() { $bad_str = "and|select|update|'|delete|insert|*"; $bad_Array = explode("|",$bad_str); /** 过 阅读全文
posted @ 2013-03-22 10:19 火腿骑士 阅读(175) 评论(0) 推荐(0)
摘要: 分享PHP获取客户端IP的几种不同方式PHP获取IP的方法有许多种,我们今天向大家总结了六种方法,希望通过对这六种方法的学习,能够加深我们对PHP语言的进一步了解,巩固我们所掌握的知识。PHP获取IP方法一:12345678910111213function GetIP() { if(!empty($_SERVER["HTTP_CLIENT_IP"])) $cip = $_SERVER["HTTP_CLIENT_IP"]; else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) $cip = 阅读全文
posted @ 2013-03-22 10:18 火腿骑士 阅读(160) 评论(0) 推荐(0)
摘要: PHP开发中比较容易记错的几个重要知识1.echo和print的区别PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1。1$r = print "Hello World";这意味着print可用在一些复杂的表达式中,而echo则不行。但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句。2.include与require的区别include()与re 阅读全文
posted @ 2013-03-22 10:17 火腿骑士 阅读(142) 评论(0) 推荐(0)
摘要: 用PHP逐行读取TXT文件有些时候,我们可能需要使用php去读取一个文本文件(TXT)格式的文件.一般在我们上传关键词列表或是某些配置的时候可能用到.下面简说如下:TXT数据:雪狐博客雪狐博客地址雪狐博客的域名雪狐博客的权重使用PHP去读取这个TXT格式的文件的时候可以如下操作:12345$str = file_get_contents($tmpfilename);//获得内容 $arr = explode("\n",$str);//分行存入数组 foreach($arr as $row){//遍历每行 echo $row,'<br/>'; }如 阅读全文
posted @ 2013-03-22 10:16 火腿骑士 阅读(488) 评论(0) 推荐(0)
摘要: 使用PHP生成随机数方法详解在PHP程序设计中,随机数的生成尤为重要。我们需要用随机数在我们的页面中展示随机记录(比如图片、用户记录、文章ID等)。我们还可以使用随机数设计任何我们想象的程序结构。首先来认识一下PHP提供的随机数函数rand()。PHP的rand()函数将返回随机整数,具体使用方法如下1rand(min,max)可选参数min和max可以使rand() 返回0到RAND_MAX之间的伪随机整数。例如,想要5到15(包括 5 和 15)之间的随机数,用 rand(5, 15)。下面我来看一个具体的示例,我们做一个基本的函数调用,不设置具体的参数,我们得到的随机数将不受min和ma 阅读全文
posted @ 2013-03-22 10:15 火腿骑士 阅读(968) 评论(0) 推荐(0)
摘要: 通过文件头准确识别PHP上传的文件类型在做web应用时候,通过web扩展名判断上存文件类型,这个是我们常使用的。有时候我们这样做还不完善。可能有些人上存一些文件,但是他通过修改扩展名,让在我们的文件类型之内。 单实际访问时候又不能展示(因为扩展名与文件内容不符)。下面这个php类,可能能够给我们带来帮助。首先说明下,上面文件头与文件类型映射关系来自网上,如果你有新的文件需要检查,只需要将映射加入即可。 如果你需要知道文件头信息,可以通过工具:winhex打开标准文件查找。如:123456789101112131415161718192021222324252627282930313233343 阅读全文
posted @ 2013-03-22 10:10 火腿骑士 阅读(695) 评论(0) 推荐(0)
摘要: 使用PHP读取和创建txt,doc,xls,pdf类型文件PHP读取或者创建txt,doc,xls,pdf各个类型文件的方法.php读取(文本.txt)文件:一般是使用fopen、fgets的方法,例如:1234567891011$fp=fopen('文件名.txt','r'); for ($i=1;$i<100;$i++) fgets($fp);//跳过前99行 $arr=array();//初始化数组 for ($i=0;$i<100;$i++) $arr[]=fgets($fp);//读出100~200行 fclose($fp); //下面输出 阅读全文
posted @ 2013-03-22 10:09 火腿骑士 阅读(831) 评论(1) 推荐(0)
摘要: 使用PHP根据图片色界在不同位置加水印在使用php编程的时候, 很多时候需要对上传的图片加水印,来确定图片版权和出处. 但是,一般情况下加水印的位置是图片的右下角, 但是,不同图片的色阶不同,有时候我们 图片的水印和图片本身色阶相同,就会造成水印不明显.下面这段代码可以实现自动识别图片的色阶,更加色阶差来添加图片的水印,这样可以避免水印和图片色阶一样的弊端.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646 阅读全文
posted @ 2013-03-22 10:08 火腿骑士 阅读(208) 评论(0) 推荐(0)
摘要: PHP配置文件处理类在PHP开发中,配置文件是整个项目的基础, 处理好配置文件也是一个项目中的重中之重了, 很多时候我们再处理配置文件的时候,基本上是把所有的配置放在一个文件里面,然后include进来这个文件.这种情况下,使用起来可能比较方便, 但是却存在一个弊端, 就是很容易使后来定义的变量冲突. 这个时候,如果用一个类来处理这个配置文件,将会达到很好的效果!12345678910111213141516171819202122232425262728293031323334/* * 来源: http://www.xuehuwang.com/ * 作者: 雪狐博客 * 应用: 用于处理配. 阅读全文
posted @ 2013-03-22 10:06 火腿骑士 阅读(185) 评论(0) 推荐(0)
摘要: php中curl类常用方法封装和详解curl对于PHP开发这来说是经常用到的一个类. 在抓取远程文件或是内容的时候就更常用了. 不过原生态的curl类比较复杂, 尤其对于新手来说,很多参数很容易让人头晕,现在好了. 这个类是封装了几个常用的curl函数. 可以实现抓取远程文件,模拟提交数据等功能.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 阅读全文
posted @ 2013-03-22 10:05 火腿骑士 阅读(277) 评论(0) 推荐(0)
摘要: PHP中简单图片处理类在PHP开发中,对图片的处理很重要. 尤其是压缩图片,给图片加水印.这个段函数很简单,但是很实用.就是给图片加水印, 获取缩略图等.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101 阅读全文
posted @ 2013-03-22 10:04 火腿骑士 阅读(152) 评论(0) 推荐(0)
摘要: PHP兼容低版本和高版本的json数据处理类json数据格式是当下比较流行的一种, 比起xml来,json格式更易用简单. 同时,与javascript配合起来可以说是最佳的数据交换格式. 在php 5.2以上版本,已经支持json的解析了,但是在php 5.2一下就不被支持了. 下面这个类可以实现兼容json_encode函数, 在高版本上,使用自带函数解析,低版本使用自定义函数解析,相信这种功能对PHP开发者来说很实用.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474 阅读全文
posted @ 2013-03-22 10:03 火腿骑士 阅读(384) 评论(0) 推荐(0)
摘要: PHP中实现图片上传的类库实现php中图片上传的类. 在php项目开发中,图片上传是很重要的一部分. 很多时候我们对php文件上传比较头疼,因为涉及到图片压缩,图片加水印,获取缩略图,图片格式检测等问题.这个类基本上是封装了常用的PHP图片处理函数,可以实现图片的缩略图获取和上次功能. 如果加上之前发布的图片加水印功能的话,就更方便了!12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 阅读全文
posted @ 2013-03-22 10:02 火腿骑士 阅读(270) 评论(0) 推荐(0)
摘要: 这是一个考虑比较全面的php和sql结合的防注入程序,在php方便主要对get,post,cooke,files进行了过滤,在sql中我们就对delete,update一些查询命令进行检测过滤。SQL注入攻击的总体思路发现SQL注入位置;判断后台数据库类型;确定XP_CMDSHELL可执行情况发现WEB虚拟目录上传ASP,php,jsp木马;得到管理员权限;贴代码:1234567891011121314151617181920212223//PHP整站防注入程序,需要在公共文件中require_once本文件 //判断magic_quotes_gpc状态 if (@get_magic_quot 阅读全文
posted @ 2013-03-22 10:01 火腿骑士 阅读(475) 评论(0) 推荐(0)
摘要: 在PHP中模拟asp的response类习惯了asp或是asp.net开发的人, 他们会经常用到response类,这个类用于处理客户端的相应,可以实现跳转,输出等功能. 在php中没有这个类,但是确实可以通过函数来模拟这个类.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576/* * 来源: http://www.xuehuwang.com/ * 作者: 雪. 阅读全文
posted @ 2013-03-22 10:00 火腿骑士 阅读(259) 评论(0) 推荐(0)
摘要: 在PHP中实现StringBuilder类在asp.net开发开发环境中,有一个StringBuilder类是比较常用的, 这个类用起来可以实现很方便的text文本的操作. 但是在php中,没有这个类. 不过我们却可以通过自定义类来模拟这个方法.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849/******************************************** * * 函数名:StringBuilder * 作 用:构造PHP下的Stri... 阅读全文
posted @ 2013-03-22 09:56 火腿骑士 阅读(374) 评论(0) 推荐(0)