<?php
header("Content-type:text/html;charset=utf-8");
#测试网址: http://localhost/blog/testurl.php?id=5
//获取域名或主机地址
echo $_SERVER['HTTP_HOST']."--a<br>"; #localhost
//获取网页地址
echo $_SERVER['PHP_SELF']."--b<br>"; #/blog/testurl.php
//获取网址参数
echo $_SERVER["QUERY_STRING"]."--c<br>"; #id=5
//获取用户代理
echo $_SERVER['HTTP_REFERER']."--d<br>";
//获取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."--e<br>";
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']."--f<br>";
#http://localhost/blog/testurl.php?id=5
//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]."--g<br>";
#http://localhost:80/blog/testurl.php?id=5
//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
echo dirname($url)."--h";//dirname函数返回路径中目录部分
#http://localhost/blog
echo "<br/>";
//获取当前内存消耗量
echo memory_get_usage()."---1";
echo "<br/>";
$var = str_repeat("liuhui", 10000);
echo memory_get_usage()."---2";
unset($var);
echo "<br/>";
echo memory_get_usage()."---3";
echo "<br/>";
//分别输出:62328 122504 62416
//说明:memory_get_usage()函数输出的数值为bytes单位
//2,格式化memory_get_usage()输出
//复制代码 代码如下:
function convert($size){
$unit=array('b','kb','mb','gb','tb','pb');
return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i]; //pow返回次方的幂round对浮点数进行四舍五入floor舍弃小数取整log返回自然对数
//return一个值,用round对值四舍五入,保留两位数,第一个参数是$size除以,使用log返回参数与1024的对数,
//用floor舍弃小数在返回1024的次方被参数除掉round四舍五入保留两位小数
}
echo convert(memory_get_usage(true))."---4";
echo "<br/>";
//输出:256 kb
//3,自定义函数获取数组或变量值大小
//复制代码 代码如下:
$GLOBALS = array('b','kb','mb','gb','tb','pb');
function array_size($arr) {
ob_start();
print_r($arr);
$mem = ob_get_contents();
ob_end_clean();
$mem = preg_replace("/\n +/", "", $mem);
$mem = strlen($mem);
return $mem;
}
$memEstimate = array_size($GLOBALS);
echo $memEstimate."---5<br/>";
echo "<a href='get_all_data.php'>Click to get all the data</a>";
?>
header("Content-type:text/html;charset=utf-8");
#测试网址: http://localhost/blog/testurl.php?id=5
//获取域名或主机地址
echo $_SERVER['HTTP_HOST']."--a<br>"; #localhost
//获取网页地址
echo $_SERVER['PHP_SELF']."--b<br>"; #/blog/testurl.php
//获取网址参数
echo $_SERVER["QUERY_STRING"]."--c<br>"; #id=5
//获取用户代理
echo $_SERVER['HTTP_REFERER']."--d<br>";
//获取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."--e<br>";
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']."--f<br>";
#http://localhost/blog/testurl.php?id=5
//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]."--g<br>";
#http://localhost:80/blog/testurl.php?id=5
//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
echo dirname($url)."--h";//dirname函数返回路径中目录部分
#http://localhost/blog
echo "<br/>";
//获取当前内存消耗量
echo memory_get_usage()."---1";
echo "<br/>";
$var = str_repeat("liuhui", 10000);
echo memory_get_usage()."---2";
unset($var);
echo "<br/>";
echo memory_get_usage()."---3";
echo "<br/>";
//分别输出:62328 122504 62416
//说明:memory_get_usage()函数输出的数值为bytes单位
//2,格式化memory_get_usage()输出
//复制代码 代码如下:
function convert($size){
$unit=array('b','kb','mb','gb','tb','pb');
return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i]; //pow返回次方的幂round对浮点数进行四舍五入floor舍弃小数取整log返回自然对数
//return一个值,用round对值四舍五入,保留两位数,第一个参数是$size除以,使用log返回参数与1024的对数,
//用floor舍弃小数在返回1024的次方被参数除掉round四舍五入保留两位小数
}
echo convert(memory_get_usage(true))."---4";
echo "<br/>";
//输出:256 kb
//3,自定义函数获取数组或变量值大小
//复制代码 代码如下:
$GLOBALS = array('b','kb','mb','gb','tb','pb');
function array_size($arr) {
ob_start();
print_r($arr);
$mem = ob_get_contents();
ob_end_clean();
$mem = preg_replace("/\n +/", "", $mem);
$mem = strlen($mem);
return $mem;
}
$memEstimate = array_size($GLOBALS);
echo $memEstimate."---5<br/>";
echo "<a href='get_all_data.php'>Click to get all the data</a>";
?>