PHP的构造函数-php教程

时间:2019-05-12 20:35:18下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《PHP的构造函数-php教程》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《PHP的构造函数-php教程》。

第一篇:PHP的构造函数-php教程

PHP的构造函数

本php教程主要学习PHP的构造函数。

在面向对象编程中有个很特别的函数,这个函数称为构造函数,是对象被创建时自动调用的方法,用来完成类初始化的工作。因为只要PHP的类一加载就会自动执行此函数,一般初始化的工作都放在此函数中。

1.构造函数和其它函数一样,可以传递参数,可以设定参数默认值。

2.构造函数可以调用属性,可以调用方法。

3.构造函数可以被其它方法显式调用。

在之前的PHP版本中,构造函数使用和类名同名来进行对象的初始化工作,但后面发现如果要更改类名,同时就要更改它的构造方法,所以在PHP5中,就被用__construct()函数来实现.__construct()前面是两个下划线组成,不要以为是一个下划线.与构造函数相对应的是析构函数.当某个对象成为垃圾或者当对象被显式销毁时执行。__destruct()析构函数,是在垃圾对象被回收时执行。

1.不要在程序中调用一个对象的析构函数。

2.析构函数不能带有参数。

3.通常在程序结束后PHP会自动执行垃圾回收。

在这里有个问题先提下,因为我们创建一个类,有时候会有多个实例,那么构造函数是怎么进行调用的呢。php的构造函数调用是从自身向上查找,执行最近的一个来进行调用。

关于这个构造函数在以后再进行补充吧,它的基本知识点就这些吧,相信在遇到__construct()等莫名的函数而不知所措了。至于它的实际应用到时候再说吧,今天就不举例了,好不容易今天不要上班,难得呀。

第二篇:php开发中常用函数总结

php开发中常用函数总结

1.获取IP2.时间的增加3.检查日期是否合法日期4.时间比较函数,返回两个日期相差几秒、几分钟、几小时或几天5.PHP重定向6.获取访问者浏览器7.获取访问者操作系统8.文件格式类9.php生成excel文档10.时间比较问题11.提取页面和浏览器提交的变量,作用相当于使PHP.INI开了全局变量12.读取文件函数13.写入文件函数14.页面快速转向15.产生随机字符串函数16.截取一定长度的字符串(该函数对GB2312使用有效)17.取得客户端IP地址18.判断邮箱地址19.分页(两个函数配合使用)20.获取新插入数据的ID21.获得当前的脚本网址22.把全角数字转为半角数字23.去除HTML标记24.相对路径转化成绝对路径26.取得所有链接27.HTML表格的每行转为CSV格式数组28.将HTML表格的每行每列转为数组,采集表格数据29.返回字符串中的所有单词 $distinct=true 去除重复30.打印出为本PHP项目做出贡献的人员的清单

function GetIP(){ //获取IP

if($_SERVER[“HTTP_X_FORWARDED_FOR”])

$ip = $_SERVER[“HTTP_X_FORWARDED_FOR”];

else if($_SERVER[“HTTP_CLIENT_IP”])

$ip = $_SERVER[“HTTP_CLIENT_IP”];

else if($_SERVER[“REMOTE_ADDR”])

$ip = $_SERVER[“REMOTE_ADDR”];

else if(getenv(“HTTP_X_FORWARDED_FOR”))

$ip = getenv(“HTTP_X_FORWARDED_FOR”);

else if(getenv(“HTTP_CLIENT_IP”))

$ip = getenv(“HTTP_CLIENT_IP”);

else if(getenv(“REMOTE_ADDR”))

$ip = getenv(“REMOTE_ADDR”);

else

$ip = “Unknown”;

return $ip;}?>{downsource}

$dateArr = explode(“-”, $date);$value[$unit] = $int;return date(“Y-m-d”, mktime(0,0,0, $dateArr[1] + $value['m'], $dateArr[2] + $value['d'], $dateArr[0] + $value['y']));}function GetWeekDay($date){ //计算出给出的日期是星期几

$dateArr = explode(“-”, $date);return date(“w”, mktime(0,0,0,$dateArr[1],$dateArr[2],$dateArr[0]));}?>{downsource}

$dateArr = explode(“-”, $date);if(is_numeric($dateArr[0])&& is_numeric($dateArr[1])&& is_numeric($dateArr[2])){ return checkdate($dateArr[1],$dateArr[2],$dateArr[0]);} return false;}function check_time($time){ //检查时间是否合法时间

$timeArr = explode(“:”, $time);if(is_numeric($timeArr[0])&& is_numeric($timeArr[1])&& is_numeric($timeArr[2])){ if(($timeArr[0] >= 0 && $timeArr[0] <= 23)&&($timeArr[1] >= 0 && $timeArr[1] <= 59)&&($timeArr[2] >= 0 && $timeArr[2] <= 59))return true;else return false;} return false;}function DateDiff($date1, $date2, $unit = “"){ //时间比较函数,返回两个日期相差几秒、几分钟、几小时或几天

switch($unit){ case 's': $dividend = 1;break;case 'i': $dividend = 60;break;case 'h': $dividend = 3600;break;case 'd': $dividend = 86400;break;default: $dividend = 86400;} $time1 = strtotime($date1);$time2 = strtotime($date2);if($time1 && $time2)return(float)($time11;mt_srand((double)microtime()* 1000000);for($i = 0;$i < $length;$i++){ $hash.= $chars[mt_rand(0, $max)];}return $hash;}?>{downsource}截取一定长度的字符串(该函数对GB2312使用有效) $length){ if($sss){ $length=$length-3;$addstr=@#...@#;} for($i = 0;$i < $length;$i++){ if(ord($string[$i])> 127){ $wordscut.= $string[$i].$string[$i + 1];$i++;} else { $wordscut.= $string[$i];} } return $wordscut.$addstr;}return $string;}?>{downsource}取得客户端IP地址{downsource}判断邮箱地址{downsource}分页(两个函数配合使用)

global $page,$totalpage;$out=”共“.$totalpage.”页 “;$linkNum =4;$start =($page-round($linkNum/2))>0 ?($page-round($linkNum/2)): ”1“;$end =($page+round($linkNum/2))<$totalpage ?($page+round($linkNum/2)): $totalpage;$prestart=$start-1;$nextend=$end+1;if($page<>1)$out.= ”第一页 “;if($start>1)$out.=”..<< “;for($t=$start;$t<=$end;$t++){ $out.=($page==$t)? ”[“.$t.”] “ : ”$t “;}if($end<$totalpage)$out.=”>>..“;if($page<>$totalpage)$out.= ” 最后页“;return $out;}?>{downsource}获取新插入数据的ID{downsource}//获得当前的脚本网址

if(empty($_SERVER[”QUERY_STRING“]))$nowurl = $scriptName;else $nowurl = $scriptName.”?“.$_SERVER[”QUERY_STRING“];} return $nowurl;}?>{downsource}//把全角数字转为半角数字{downsource}//去除HTML标记“,”>“,$txt);$txt = preg_replace(”/[rn]{1,}/isU“,”rn“,$txt);return $txt;}?>{downsource}//相对路径转化成绝对路径

preg_match('/(http|https|ftp):///', $feed_url, $protocol);$server_url = preg_replace(”/(http|https|ftp|news):///“, ”“, $feed_url);

$server_url = preg_replace(”//.*/“, ”“, $server_url);

if($server_url == ''){

return $content;

}

if(isset($protocol[0])){

$new_content = preg_replace('/href=”//', 'href=“'.$protocol[0].$server_url.'/', $content);

$new_content = preg_replace('/src=”//', 'src=“'.$protocol[0].$server_url.'/', $new_content);

} else {

$new_content = $content;

}

return $new_content;} ?>{downsource}//取得所有链接

preg_match_all('/“' ]+)[”|']?s*[^>]*>([^>]+)/i',$code,$arr);

return array('name'=>$arr[2],'url'=>$arr[1]);}?>{downsource}//HTML表格的每行转为CSV格式数组]*?>'si”,'“',$table);$table = str_replace(”“,'”,',$table);$table = str_replace(“”,“{tr}”,$table);//去掉 HTML 标记

$table = preg_replace(“'<[/!]*?[^<>]*?>'si”,“",$table);//去掉空白字符

$table = preg_replace(”'([rn])[s]+'“,”“,$table);$table = str_replace(” “,”“,$table);$table = str_replace(” “,”“,$table);$table = explode(”,{tr}“,$table);

array_pop($table);return $table;}?>{downsource}//将HTML表格的每行每列转为数组,采集表格数据]*?>'si“,”“,$table);$table = preg_replace(”']*?>'si“,”“,$table);$table = preg_replace(”']*?>'si“,”“,$table);$table = str_replace(”“,”{tr}“,$table);$table = str_replace(”“,”{td}“,$table);//去掉 HTML 标记

$table = preg_replace(”'<[/!]*?[^<>]*?>'si“,”“,$table);//去掉空白字符

$table = preg_replace(”'([rn])[s]+'“,”“,$table);$table = str_replace(” “,”“,$table);$table = str_replace(” “,”“,$table);

$table = explode('{tr}', $table);

array_pop($table);foreach($table as $key=>$tr){ $td = explode('{td}', $tr);array_pop($td);$td_array[] = $td;} return $td_array;}?>{downsource}//返回字符串中的所有单词 $distinct=true 去除重复{downsource}//打印出为本PHP项目做出贡献的人员的清单 //生成随机密码function randStr($len=6){//用来产生密码的字符串$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789';$password=”";while(strlen($password)<$len)

$password.=substr($chars,(mt_rand()%strlen($chars)),1);return $password;

}

第三篇:不得不防的PHP危险函数

不得不防的PHP危险函数

用PHP语言建设网站,安全问题是每个PHP程序员必须考虑的问题,在PHP运用的过程中一些PHP危险函数却不得不防,南京PHP培训小编把PHP危险函数列出来,供大家参考。

phpinfo()功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等信息。危险等级:中 passthru()功能描述:允许执行一个外部程序并回显输出,类似于 exec()。危险等级:高 exec()功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。危险等级:高 system()功能描述:允许执行一个外部程序并回显输出,类似于 passthru()。危险等级:高 chroot()功能描述:可改变当前 PHP 进程的工作根目录,仅当系统支持 CLI 模式 PHP 时才能工作,且该函数不适用于 Windows 系统。危险等级:高 scandir()功能描述:列出指定路径中的文件和目录。危险等级:中 chgrp()功能描述:改变文件或目录所属的用户组。危险等级:高 chown()功能描述:改变文件或目录的所有者。危险等级:高 shell_exec()功能描述:通过 Shell 执行命令,并将执行结果作为字符串返回。危险等级:高 proc_open()功能描述:执行一个命令并打开文件指针用于读取以及写入。危险等级:高 proc_get_status()功能描述:获取使用 proc_open()所打开进程的信息。危险等级:高 error_log()功能描述:将错误信息发送到指定位置(文件)。

安全备注:在某些版本的 PHP 中,可使用 error_log()绕过 PHP safe mode,执行任意命令。危险等级:低 ini_alter()功能描述:是 ini_set()函数的一个别名函数,功能与 ini_set()相同。具体参见 ini_set()。危险等级:高 ini_set()功能描述:可用于修改、设置 PHP 环境配置参数。危险等级:高 ini_restore()功能描述:可用于恢复 PHP 环境配置参数到其初始值。危险等级:高 dl()功能描述:在 PHP 进行运行过程当中(而非启动时)加载一个 PHP 外部模块。危险等级:高 pfsockopen()功能描述:建立一个 Internet 或 UNIX 域的 socket 持久连接。危险等级:高 syslog()功能描述:可调用 UNIX 系统的系统层 syslog()函数。危险等级:中 readlink()功能描述:返回符号连接指向的目标文件内容。危险等级:中 symlink()功能描述:在 UNIX 系统中建立一个符号链接。危险等级:高 popen()功能描述:可通过 popen()的参数传递一条命令,并对 popen()所打开的文件进行执行。

危险等级:高

stream_socket_server()功能描述:建立一个 Internet 或 UNIX 服务器连接。危险等级:中 putenv()功能描述:用于在 PHP 运行时改变系统字符集环境。在低于 5.2.6 版本的 PHP 中,可利用该函数

修改系统字符集环境后,利用 sendmail 指令发送特殊参数执行系统 SHELL 命令。危险等级:高

第四篇:PHP中时间和日期函数总结

PHP中时间和日期函数总结

2007-11-29 00:40:28 标签:php 时间 日期函数

PHP中所有函数都是UNIX纪元的,即从1970年1月1日开始的。日期是从这个时候开始的秒数。当一个函数调用从这时候计的秒数时,就把它当作(timestamp)时间戳。本地时间函数

1.string date(string format,inieger timestamp)该函数返回一个表示时间的字符串,是由string format 控制的。如: 也许你会问,怎麽没有timestamp呢?若timestamp为空时,或不写时,表示使用当前时间一刻timestamp.表示年份的控制符: Y---四位的年份 y---两位的年份

表示月份的控制符: m---从1-12的月份 F---英文月份名 M---简写的月份名 表示日号的控制符: d---前面有0的月份中日期 j--前面没有0的日号 表示星期的控制符: l--英文星期 D--简写的星期

表示小时的控制符: h--从1到12小时 H---从0到23的小时 表示上下午的控制符 a---am或pm A---AM或PM 表示分钟的控制符: i---取值00-59 表示一年中第多少天: z--一年中的第多少天 2.array getdate(integer timestamp)该函数返回一个矩阵.如: 说明: 元素 描述

hours 24小时格式的小时 mday 月份中日期 minutes 分钟

mon 数字形式的月份 month 月份全称 seconds 秒数

wday 从0到6的数字形式的星期几 weekday 星期几的名称 year 年份

0 时间戳即从1970年1月1日到现在的秒数 yday 一年中数字形式的日期

3.boolean checkdate(integer month,integer day,integer year)该函数检查日期是否合法.如: 4.integer time()该函数获得当前时间戳.如: 5.integer mktime(integer hour,integer minutes,integer seconds,integer month, integer day,integer year)该函数返回给出日期的时间戳,即从1970年1月1日到现在的秒数.如某参数超出范围,该函数也可以解释它,如13月即为第二年的一月.如: n”);?> 6.string microtime()该函数返回一个字符串,由当前时间的毫秒数+空格+从1970年开始的秒数 n”);for($index=0;$index<1000;$index++)print(“good!”);print(“stop:microtime()
n”);?> 还有,各林威治标准时间函数

第五篇:PHP学习之输出控制函数

PHP学习之输出控制函数

PHP提供了一类比较特殊的函数,这类函数称为输出控制函数。输出控制函数可以用来控制脚本的输出。这些函数在某些特殊情况下很有用,特别是脚本中已经输出了信息之后,再想向浏览器发送头信息的情况。输出控制函数不会作用于 header()或 setcookie()函数发送的头信息,而只会影响类似于 echo,print输出的信息和嵌入在 PHP 代码之间的信息。

1、ob_start():打开输出缓冲区

函数原型:void ob_start(void)。此函数用于打开输出缓冲区。当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。

2、ob_flush()

函数原型:void ob_flush(void)。这个函数将送出缓冲区的内容。

3、ob_end_clean()

函数原型:bool ob_end_clean(void)。此函数清空输出缓冲区的内容并关闭这个缓冲区。值得注意的是,这个函数不会发送缓冲区的内容,而是把缓冲区清空。

4、ob_clean()

函数原型:bool ob_end_clean(void)。此函数会将缓冲区内容清除,但不关闭缓冲,可继续向其中写入内容。

5、ob_end_flush()

函数原型:void ob_end_flush(void)。此函数发送缓冲区的内容到浏览器,并且关闭输出缓冲区。

6、ob_get_contents()

函数原型:string ob_get_contents(void)。这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回 FALSE。

7、ob_get_length()

函数原型:int ob_get_length(void)。这个函数会返回当前缓冲区中的长度。

平时我们可能不常接触到输出控制函数,可是前面说了,输出控制函数是很有用的,比如可以解决诸如:Header had already send by!之类的header错误。

下载PHP的构造函数-php教程word格式文档
下载PHP的构造函数-php教程.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    PHP课后

    PHP课后习题 第一章自测题 一、单选题 1.动态网站隶属性下面哪一种软件开发形式( ) A.应用程序开发B.C/S架构软件 C.嵌入式程序开发D. B/S架构软件 2.在下面的选项中,哪一种Web构......

    php试题(大全)

    1. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名 例如: http://www.xiexiebang.com/abc/de/fg.php ?id=1 需要取出 php 或 .php 2. 在 HTML 语言中,页面头部的......

    PHP面试题

    PHP程序员初级面试题 一、 解释一下语句作用,并标示出以下哪一句不会把 John 新增到 users 阵列?$users[] = 'john'; array_add($users,‟john‟);array_push($users,„john......

    php试题

    1.mysql_connect与@mysql_connect的区别是( B ) A@mysql_connect不会忽略错误,将错误显示到客户端 B mysql_connect不会忽略错误,将错误显示到客户端 C 没有......

    浅谈PHP优缺点

    千锋教育www.xiexiebang.com 精品课程 全程面授 浅谈PHP优缺点 众所周知,PHP语言作为服务器端开发的脚本语言,在网站开发方面非常有名。自从1995年RasmusLerdorf创建之后,根据......

    PHP实验报告

    PHP实验报告 实验内容:php操作数据库 实验步骤:首先在Mysql,text数据库中建立一个t_stu的表。 2.新建conn.php文件,链接Mysql数据库,并方便接下来的包含和引用。 3.新建index.php......

    PHP程序员

    **的个人简历个人资料 姓名: **电子邮件: ******@qq.com 名族: 汉出生日期: 1991/1/3 学历: 本科居住地址: 深圳福田 性别: 男手机号码: 186***77394求职意向 到岗时间:即时 期望职位......

    PHP复习资料

    PHP复习资料填空题 1.在PHP中,加入注释的方法很灵活,单行注释有 // 和 # 两mysql可以方便地对数据库进行各种操作。 13. 在continue和break语句中, 名词解释 1. 构造函数: 在类中......