<?php
function printVal($val,$escape=true) {
switch (gettype($val)) {
case 'integer':
case 'double':
return $val;
case 'string':
return "\"".(($escape !== false)?htmlspecialchars(addcslashes($val,"\\\"\$\r\n\t")):$val)."\"";
case 'array':
return formatArray($val);
case 'object':
return 'Object('.get_class($val).')';
case 'resource':
return 'Resource('.strstr($val, '#').')';
break;
case 'boolean':
return $val ? 'true' : 'false';
break;
case 'NULL':
return 'NULL';
break;
default:
return 'Unknown';
}
}
function formatArray($arr, $level=0){
if(gettype($arr) == "array") {
$ret="Array(";
foreach ($arr as $name => $value){
switch(gettype($value)){
case "array":
$level++;
switch(strtolower($name)){
case "globals";
$value = "Array (..)";
break;
default:
$value = formatArray($value, $level);
break;
}
break;
case "string":
$value="\"".htmlspecialchars(addcslashes($value,"\\\"\$\r\n\t"))."\"";
break;
case "integer":
break;
case "double":
break;
case "boolean":
$value=$value?"true":"false";
break;
case "resource":
$value= 'Resource('.strstr("$value", '#').') /* '.get_resource_type($value).' */';
break;
default:
$value=gettype($value);
break;
}
if(!is_numeric($name)) {
$value = "\"$name\" => $value";
}
if($ret == "Array(") $ret.=$value;
else $ret.=",".$value;
}
$ret .= ")";
return $ret;
} else {
return $arr;
}
}
function random_string($len=5, $opt='dlu') {
list($usec, $sec) = explode(' ', microtime());
mt_srand(($usec*1000000)+$sec); //second seed
$chr=""; $str="";
if (strpos($opt,"d") !== false) for($i=48; $i<=57; $i++) $chr.=chr($i);
if (strpos($opt,"u") !== false) for($i=65; $i<=90; $i++) $chr.=chr($i);
if (strpos($opt,"l") !== false) for($i=97; $i<=122; $i++) $chr.=chr($i);
for ($i=0; $i<$len;$i++) $str.=$chr[mt_rand(0,strlen($chr)-1)];
return $str;
}
function getinfo() {
global $ip, $host;
return "[".date("Y-m-d H:i:s")."] [$ip".(!empty($host)?" $host":"")."]";
}
?>