//方法一模仿用户访问网页
代码如下 | 复制代码 |
function readpr($link,$url) { $fp = fsockopen ($url, 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno) "; exit(1); } else { $out = "get $link http/1.0 "; $out .= "host: $url "; $out .= "user-agent: mozilla/4.0 (compatible; googletoolbar 2.0.114.9-big; linux 2.6) "; $out .= "connection: close "; fwrite($fp, $out); do{ $line = fgets($fp, 128); }while ($line !== " "); $data = fread($fp,8192); fclose ($fp); return $data; } } |
//方法二用curl_init读取远程网页内容
代码如下 | 复制代码 |
function init() function getfiles($value) function getfiles($value) |
代码如下 | 复制代码 |
$v = array('vv','bb'); $str=preg_replace("/$v[0]/","<a href=".$v[1]." target=_blank >".$v[0]."</a>",$str,2); |
代码如下 | 复制代码 |
function mkdirs($dir) //函数了 $path ="www.111cn.net/".date("y/m"); |
/*
创建目录是在文件上传中经常会碰到的事情,如果我要根据日期来生成相对就的目录并且保存文件,这样就需要这个功能了。
*/
代码如下 | 复制代码 |
function test() { list($a,$b)= explode(" ",microtime()); return (float)$a+(float)$b; } |
代码如下 | 复制代码 |
$a=test(); echo $a; $time = sprintf("%.12f",(double)test()-$a); |
//方法二
代码如下 | 复制代码 |
function ss_timing_start ($name = 'default') { global $ss_timing_start_times; $ss_timing_start_times[$name] = explode(' ', microtime()); } function ss_timing_stop ($name = 'default') { global $ss_timing_stop_times; $ss_timing_stop_times[$name] = explode(' ', microtime()); } function ss_timing_current ($name = 'default') { global $ss_timing_start_times, $ss_timing_stop_times; if (!isset($ss_timing_start_times[$name])) { return 0; } if (!isset($ss_timing_stop_times[$name])) { $stop_time = explode(' ', microtime()); } else { $stop_time = $ss_timing_stop_times[$name]; } // do the big numbers first so the small ones aren't lost $current = $stop_time[1] - $ss_timing_start_times[$name][1]; $current += $stop_time[0] - $ss_timing_start_times[$name][0]; return $current; } ss_timing_start(); /** 以下是你的页面的代码 */ require_once 'index.php教程'; //index.php是要测试执行时间的页面 /* 页面代码结束 */ ss_timing_stop(); |
//方法三
代码如下 | 复制代码 |
class timer function start(){ $timer->stop(); |
代码如下 | 复制代码 |
class child $parent = new parent('hispanic'); |
php教程中是通过类来完成信息封装的,在php中定义类的语法是:
class class_name // 在面向对象编程类中,习惯上类的第一个字符为大写,并且必须符合变量的命名规则。
{
//函数与变量的集合
}
?>
在定义类时你可以按自已的喜好的格式进行定义,但最好能保持一种标准,这样开发起来会更有效些。
数据成员在类中使用"var"声明来定义,在给数据成员赋值之前,它们是没有类型的。一个数据成员可以是一个整数,一个数组,一个相关数组(associative array)或者是一个对象。
下面是一个类定义的实际例子:
代码如下 | 复制代码 |
class student { var $str_name; //姓名 var $str_sex; //性别 var $int_id; //学号 var $int_english; //英语成绩 var $int_maths; //数学成绩 } ?> |
这是一个很普通定义类的简单例子,用于显示学生的学习成绩,类名为student,student类包涵了一个学生的基本属性:姓名、性别、学号、英语成绩和数学成绩。
function我们称之为在类中被定义的函数,在函数中访问类成员变量时,你应该使用$this->var_name,其中var_name 指的是类中被声明的变量,否则对一个函数来说,它只能是局部变量。 我们先定义一个input()的函数,用来给实例中的对象赋以初值:
代码如下 | 复制代码 |
function input ( $name, $sex, $id, $englis, $maths) { $this->str_name=$name; $this->str_sex =$sex; $this->int_id =$id; $this->int_englis=$english; $this->int_maths=$maths; } |
现在我们再定义一个叫“showinfo()”的函数,用于打印学生的基本情况:
代码如下 | 复制代码 |
function showinfo() //定义showinfo()函数 ”); ”); ”); ”); ”); |
而定义好的类则必须使用new关键词来生成对象:
$a_student=new student;
例如我们要为一个名为$wing的对象创建实例,并进行赋值,可以使用下面的代码:
$wing =new student; //用new关键词来生成对象
$wing ->input (“wing”,”男”,33,95,87);
//分别输入wing的姓名、性别、学号、英语成绩、数学成绩,其中姓名和性别是字符型变量,所以需要用双引号,其它为数值型变量则不需要。