»PHP代码网站如何防范SQL注入漏洞攻击建议
所有的网站管理员都会关心网站的安全问题。说 到安全就不得不说到SQL注入攻击(SQL Injection)。黑客通过SQL注入攻击可以拿到网站数据库的访问权限,之后他们就可以拿到网站数据库中所有的数据,恶意的黑客可以通过SQL注入 功能篡改数据库中的数据甚至会把数据库中的数据毁坏掉。做为网络开发者的你对这种黑客行为恨之入骨,当然也有必要了解一下SQL注入这种功能方式的原理并 学会如何通过代码来保护...
»PHP中如何拷贝对象
PHP中,我们可以使用“=”和“clone”来拷贝对象。 用“=”实现通过引用来拷贝对象: $rasmus=$zeev; 要拷贝对象的值,要使用clone: $rasmus=clone$zeev; PHP5拷贝的是对象的引用而不是值。当把一个现存的对象指定给一个新变量时,新变量中保存的只是这个现存对象的引用。而不管是通过新变最还是旧变量来访问这个对象,都会得到相同的结果。 要想基于相同的内容创建包...
»PHP中如何定义对象解构器
上一篇介绍了PHP中定义对象构造器,这一篇介绍一下PHP中如何定义对象解构器。 PHP中我们可以定义一个当对象被销毁时调用的方法。例如,你想要在对象被删除之前自动地把对象中的信息保存到数据库中。 当脚本停止执行时对象会自动被销毁。要强制销毁一个对象,可以使用unset()函数,如下代码所示: 删除一个对象 $car=newcar;//buynewcar ... unset($car);//carw...
»PHP中如何定义对象构造器
在PHP中,我们可以定义一个在PHP对象技巧化时调用的方法。例如,你想要在创建PHP对象时自动从数据库向对象中载入信息。 下面的PHP代码定义了一个名为__construct()的方法: classuser{ function__construct($username,$password){ ... } } 这个方法名为__construct()(即在construct前面加两个下划线符号),以其...
»PHP中如何创建可以接受个数可变的参数的函数
在PHP中,我们可以定义一个可以接受个数可变的参数的函数。向函数传递一个数组,并把要传递的参数变量作为数组的元素: //findthe"average"ofagroupofnumbers functionmean($numbers){ //initializetoavoidwarnings $sum=0; //thenumberofelementsinthearray $size=count($n...
»MySQL内存表的特性与使用详解
临时表和内存表都可以人工创建,但临时表更多的作用是系统自己创建后,组织数据以提升性能,如子查询,临时表在多个连接之间不能共享。这里只讨论内存表创建表是,用engine=heap可创建(mysql5.5中已经不支持type,以后都用engine,形成习惯)。 内存表,就是放在内存中的表,所使用内存的大小可通过My.cnf中的max_heap_table_size指定,如 max_heap_table...
»PHP中如何为函数的参数设定默认值
在PHP中,你可以当函数调用者没有为函数传递必要的参数时,为该参数指定默认的值。例如,一个绘制表格的函数可能需要通过一个参数来指定边框的宽度,而如果未传递该参数则把其默认值设置为1。 在函数原型内部为参数指定默认值: functionwrap_html_tag($string,$tag='b'){ return"<$tag>$string</$tag>"; } 本方案中把标...
»PHP使用shmop和System V实现进程间共享变量
在PHP中我们可以在进程间共享信息的途径,并保证能快速地访问这些共享数据。 这里我们可以使用shmop或SystemV这两种共享内存扩展中的一种。 若使用shmop,就可以像下面例子中那样创建一个内存块,从中读取并向其中写入信息。 <?php //createkey $shmop_key=ftok(__FILE__,'p'); //create16384bytesharedmemoryblo...
»PHP中动态创建变量名
PHP中,我们可以动态地创建一个变量名。例如,你想要使用与数据库查询得到的字段名称一致的变量名。 使用PHP中“可变变量”的语法,即在一个其值为你想作为变量名称的变量前面加一个$: $animal='turtles'; $turtles=103; print$$animal; 在PHP中如果在一个变量名称前面放两个美元($)符号,PHP就会废弃右面的变量,而取其值,然后,将该值作为“真正”的变量名...
»PHP删除数组中重复的元素
在PHP中,有没有办法快速的删除数组中重复的元素呢?答案是可以的。 如果是创建完成的数组,使用array_unique(),该函数会返回一个只包含唯一元素的新数组: $unique=array_unique($array); 如果是在程序运行时根据结果来创建数组,那么对于创建数字数组可以使用以下技术: foreach($_REQUEST['fruits']as$fruit){ if(!in_arr...
»PHP中用sort、asort、natsort函数对数组排序
在PHP开发中,我们可以使用sort()、asort()、natsort()函数对数组排序。 PHP中,要按惯例对数组进行排序,使用sort(): $states=array('Delaware','Pennsylvania','NewJersey'); sort($states); 要以数字为标准排序,把SORT_NUMERIC作为第二个参数传递给sort(): $scores=array(1,...
»PHP中如何动态改变数组大小
PHP中我们是修改数组大小的,比如增大或减小数组的当前大小。 使用array_pad()使数组增大: //startatthree $array=array('apple','banana','coconut'); //growtofive $array=array_pad($array,5,''); 现在,count($array)的值是5,而最后两个元素,$array[3]和$array[4]...
»PHP如何利用unset()删除数组中的元素
在PHP中删除数组元素有以下几种方法: 要删除一个元素,用onset() unset($array[3]); unset($array['foo']); 要删除多个不连续的元素,也用unset() unset($array[3],$array[5]); unset($array['foo'],$array['bar']); 要删除多个连续的元素,用array_splice() array_spli...
»PHP中根据时区计算时间
你需要计算不同时区中的时间。例如,你想让用户看到他们的本地时间,而不是你服务器的时间。 对于简单的计算问题,可以直接加或减两个时区间的偏移量,如下代码: <?php //IflocaltimeisEST $time_parts=localtime(); //California(PST)isthreehoursearlier $california_time_parts=localtime(...
»PHP中checkdate日期验证方法详解
在PHP中如何检查一个日期是否有效呢,例如,你想要确保用户不会提交一个类似“1962年2月30日”这样的生日。 很简单,我们可以使用checkdate()函数,代码如下: $valid=checkdate($month,$day,$year); 当$month位于1-12之间,$year位于1-32767之间,$day位于1和$year及$month所代表的相应年、月份中最大的天数之间时,函数ch...