function ip($date){
$rul="http://111cn.net/s?ie=gbk&sr=&z=&cl=3&f=8&wd=$date&ct=0&tn=downreg";
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, "$rul");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$contents = curl_exec($ch);
curl_close($ch);
preg_match_all("/ 来自:(.*?) 此数据由/is",$contents,$address);
if(empty($address[1][0]))$address[1][0]='未知';
return $address[1][0];
}
在php有一些特殊的函数,php 构造函数与析构函数[__construct __destruct()]哦,他在在类class中的作用是初始化与销毁变量下面我们来看看实例以
class db
{
function __construct()
{
$this->mConnId=mysql_connect ($this->DbHost,$this->DbUser,$this->DbPwd);//建立连接
mysql_select_db($this->DbName, $this->mConnId); //选择数据库
mysql_query("set names 'gbk'");//设置数据库编码为GBK
}
//__destruct:析构函数,断开连接
function __destruct()
{
mysql_close($this->mConnId); //此处还有问题......
}
}
这时我们在用时就不需要考虑数据连接与关闭了,只要$aa = new db();就OK了。
下面来看看这款php chroot -改变根目录函数哦,好了我看来看看chroot功能哦,不过有一点可惜chroot不能在windows平台运行chroot -改变根目录
描述
布尔的chroot (字符串$目录)
变化的根目录中的当前进程的目录。
此功能只适用于如果您的系统支持,而您使用CLI , CGI或嵌入的SAPI 。另外,此功能需要root权限。
参数
目录
新目录
返回值
返回TRUE或FALSE的成功失败。
注
注:此功能是没有执行在Windows平台上。
新增附注拥有笔记
的chroot
没有用户的贡献说明这一页。
chdir -更改目录
描述
布尔chdir (字符串$目录)
更改PHP的当前目录的目录。
参数
目录
新的当前目录
返回值
返回TRUE或FALSE的成功失败。
实例
例如# 1 chdir ( )的例子
<?php
// current directory
echo getcwd() . "n";
chdir('public_html');
// current directory
echo getcwd() . "n";
?>
$path="c:temp"';
chdir($path);
getcwd()
gives you back "c:temp"
$path="c:temp"';
chdir($path);
getcwd()
gives you back "c:temp"
to work around this inconsistency
doing a chdir('.') after the chdir always gives back "c:temp"
上面的例子将输出类似于:
/首页/文
/首页/文/ public_html
注
注:如果安全模式被激活, PHP将检查是否目录该脚本的操作具有相同的UID (所有者)的脚本,正在执行。
又见
getcwd ( ) -获取当前工作目录
相关函数说明
ob_start([string output_callback])- 打开输出缓冲区
所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息。
ob_end_flush - 结束(发送)输出缓冲区的内容,关闭输出缓冲区
test.php
<?
function test($str){
return str_replace("php2000","y10k",$str);
}
ob_start("test");
echo "hello php2000";
ob_end_flush();
?>
这个程序在没有输出信息控制的情况下应该输出为
hello php2000
但通过指定了输出控制函数后,输出变为
hello y10k
在上面的例子中,使用 echo() 的输出内容将会保存在输出缓冲区中,直到调用了 ob_end_flush()或者脚本运行终止, 然后输出信息由自定义的处理函数进行处理(替换里面的字符串)并返回结果。