Zend - The PHP Company




Searching and Trees

Add Code


Ivo  

Type: application
Added by: ivansandick
Entered: 20/09/2003
Last modified: 31/10/2002
Rating: - (fewer than 3 votes)
Views: 7752
Sort of a userfriendly var_dump, this function will list any requested variables it can lay its hands on, and collapse the list for you to expand at will. All global variables at the tip of a mouse. If I include this on pages that do not work correctly, the problem never stays hidden for long!


<?
$dump_count
=0;$dump_flag=0;
function 
dumpdata($v="GLOBALS") { 
  if(!
strstr($_COOKIE['pw'],'secret6'))
   return 
false// for my eyes only
global $dump_count,$dump_flag;$skip=array("HTTP_GET_VARS","HTTP_POST_VARS","HTTP_COOKIE_VARS","HTTP_ENV_VARS","HTTP_POST_FILES","HTTP_SERVER_VARS"); // skip those
// strangely the $_SESSION vars are never made public, but the $HTTP_SESSION_VARS are available.
echo "<blockquote id="dump$dump_count" style="margin:0px 18px;".($dump_flag?"display:none":"")."">n";
$q="while(list($key,$val) = each($".$v.") ) { "
   
$dump_count++; ".
   
" if( $key===0 || !in_array($key,$skip) ) ".
   
" echo "<b>&#36;$key</b> = ".@htmlspecialchars( (string) $val)." ".(is_array($val)?count($val)==0?"0":"<a href=javascript:void((a=document.getElementById(&quot;dump$dump_count&quot;).style).display=a.display==&quot;none&quot;?&quot;block&quot;:&quot;none&quot;)>".count($val)."</a>":"")."<br>n"; ".
   
" if( is_array($val) && $key != "GLOBALS"&& !in_array($key,$skip) ) { ".
   
$dump_flag=true;dumpdata( $v."[".$key."]" ); ".
   
"}}";
   eval(
$q);
echo 
"</blockquote>n";
}
?>


Usage Example


Example output:
<BLOCKQUOTE id=dump0 style="MARGIN: 0px 18px"><B>$_POST</B> = Array <A 
href='javascript:void((a=document.getElementById("dump2").style).display=a.display=="none"?"block":"none")'>2</A><BR> 
<BLOCKQUOTE id=dump2 
style="DISPLAY: none; MARGIN: 0px 18px"><B>$MAX_FILE_SIZE</B> = 7000000 
<BR><B>$destination</B> = Array <A 
href='javascript:void((a=document.getElementById("dump4").style).display=a.display=="none"?"block":"none")'>2</A><BR> 
<BLOCKQUOTE id=dump4 style="DISPLAY: none; MARGIN: 0px 18px"><B>$0</B> = 
image/people <BR><B>$1</B> = image/tile 
<BR></BLOCKQUOTE></BLOCKQUOTE><B>$_GET</B> = Array 0<BR> 
<BLOCKQUOTE id=dump8 
style="DISPLAY: none; MARGIN: 0px 18px"></BLOCKQUOTE><B>$_COOKIE</B> = Array <A 
href='javascript:void((a=document.getElementById("dump10").style).display=a.display=="none"?"block":"none")'>2</A><BR> 
<BLOCKQUOTE id=dump10 style="DISPLAY: none; MARGIN: 0px 18px"><B>$flavour</B> = chocolate 
<BR><B>$PHPSESSID</B> = e165879ac669fb1227c38997e98328a1 
<BR></BLOCKQUOTE><B>$_SERVER</B> = Array <A 
href='javascript:void((a=document.getElementById("dump14").style).display=a.display=="none"?"block":"none")'>30</A><BR> 
<BLOCKQUOTE id=dump14 
style="DISPLAY: none; MARGIN: 0px 18px"><B>$CONTENT_LENGTH</B> = 274574 
<BR><B>$CONTENT_TYPE</B> = multipart/form-data; 
boundary=---------------------------7d3168cb3c <BR><B>$DOCUMENT_ROOT</B> = 
/usr/local/www/data <BR><B>$HTTP_ACCEPT</B> = image/gif, image/x-xbitmap, 
image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, 
application/vnd.ms-excel, application/msword, */* 
<BR><B>$HTTP_ACCEPT_ENCODING</B> = gzip, deflate 
<BR><B>$HTTP_ACCEPT_LANGUAGE</B> = en-gb <BR><B>$HTTP_CACHE_CONTROL</B> = 
no-cache <BR><B>$HTTP_CONNECTION</B> = Keep-Alive <BR><B>$HTTP_COOKIE</B> = 
flavour=chocolate; PHPSESSID=e165879ac669fb1227c38997e98328a1 <BR><B>$HTTP_HOST</B> = 
example.com <BR><B>$HTTP_REFERER</B> = http://www.zend.com/codex.php?CID=574 
<BR><B>$HTTP_USER_AGENT</B> = Mozilla/4.0 (fubar; etc.) <BR><B>$PATH</B> = 
/some/path <BR><B>$REMOTE_PORT</B> = 3014 <BR><B>$SCRIPT_FILENAME</B> = 
/some/path/to/dumpem.php <BR><B>$SERVER_ADDR</B> = 
99.12.99.12 <BR><B>$SERVER_ADMIN</B> = webmaster@example.com 
<BR><B>$SERVER_NAME</B> = example.com <BR><B>$SERVER_PORT</B> = 80 
<BR><B>$SERVER_SIGNATURE</B> = &lt;ADDRESS&gt;Apache/1.3.27 Server at example.com 
Port 80&lt;/ADDRESS&gt; <BR><B>$SERVER_SOFTWARE</B> = Apache/1.3.27 (Unix) 
PHP/4.3.1 <BR><B>$UNIQUE_ID</B> = P3Du0Ftralala 
<BR><B>$GATEWAY_INTERFACE</B> = CGI/1.1 <BR><B>$SERVER_PROTOCOL</B> = HTTP/1.1 
<BR><B>$REQUEST_METHOD</B> = POST <BR><B>$QUERY_STRING</B> = 
<BR><B>$REQUEST_URI</B> = /to/dumpem.php <BR><B>$SCRIPT_NAME</B> = 
/to/dumpem.php <BR><B>$PATH_TRANSLATED</B> = 
/some/translated/path/to/dumpem.php <BR><B>$PHP_SELF</B> = 
/to/dumpem.php <BR></BLOCKQUOTE><B>$_ENV</B> = Array <A 
href='javascript:void((a=document.getElementById("dump47").style).display=a.display=="none"?"block":"none")'>2</A><BR> 
<BLOCKQUOTE id=dump47 style="DISPLAY: none; MARGIN: 0px 18px"><B>$HOME</B> = / 
<BR><B>$PATH</B> = /some/path <BR></BLOCKQUOTE><B>$_FILES</B> 
= Array <A 
href='javascript:void((a=document.getElementById("dump51").style).display=a.display=="none"?"block":"none")'>1</A><BR> 
<BLOCKQUOTE id=dump51 style="DISPLAY: block; MARGIN: 0px 18px"><B>$userfile</B> 
= Array <A 
href='javascript:void((a=document.getElementById("dump52").style).display=a.display=="none"?"block":"none")'>5</A><BR> 
<BLOCKQUOTE id=dump52 style="DISPLAY: none; MARGIN: 0px 18px"><B>$name</B> = 
Array <A 
href='javascript:void((a=document.getElementById("dump53").style).display=a.display=="none"?"block":"none")'>3</A><BR> 
<BLOCKQUOTE id=dump53 style="DISPLAY: none; MARGIN: 0px 18px"><B>$0</B> = 
Elvis[1].jpg <BR><B>$1</B> = arab3.gif <BR><B>$2</B> = 
<BR></BLOCKQUOTE><B>$type</B> = Array <A 
href='javascript:void((a=document.getElementById("dump57").style).display=a.display=="none"?"block":"none")'>3</A><BR> 
<BLOCKQUOTE id=dump57 style="DISPLAY: none; MARGIN: 0px 18px"><B>$0</B> = 
image/pjpeg <BR><B>$1</B> = image/gif <BR><B>$2</B> = 
<BR></BLOCKQUOTE><B>$tmp_name</B> = Array <A 
href='javascript:void((a=document.getElementById("dump61").style).display=a.display=="none"?"block":"none")'>3</A><BR> 
<BLOCKQUOTE id=dump61 style="DISPLAY: none; MARGIN: 0px 18px"><B>$0</B> = 
/var/tmp/phpt1omL5 <BR><B>$1</B> = /var/tmp/phpzqVGFz <BR><B>$2</B> = 
<BR></BLOCKQUOTE><B>$error</B> = Array <A 
href='javascript:void((a=document.getElementById("dump65").style).display=a.display=="none"?"block":"none")'>3</A><BR> 
<BLOCKQUOTE id=dump65 style="DISPLAY: none; MARGIN: 0px 18px"><B>$0</B> = 0 
<BR><B>$1</B> = 0 <BR><B>$2</B> = 4 <BR></BLOCKQUOTE><B>$size</B> = Array <A 
href='javascript:void((a=document.getElementById("dump69").style).display=a.display=="none"?"block":"none")'>3</A><BR> 
<BLOCKQUOTE id=dump69 style="DISPLAY: none; MARGIN: 0px 18px"><B>$0</B> = 137943 
<BR><B>$1</B> = 135624 <BR><B>$2</B> = 0 
<BR></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE><B>$_REQUEST</B> = Array <A 
href='javascript:void((a=document.getElementById("dump73").style).display=a.display=="none"?"block":"none")'>4</A><BR> 
<BLOCKQUOTE id=dump73 
style="DISPLAY: none; MARGIN: 0px 18px"><B>$MAX_FILE_SIZE</B> = 7000000 
<BR><B>$destination</B> = Array <A 
href='javascript:void((a=document.getElementById("dump75").style).display=a.display=="none"?"block":"none")'>3</A><BR> 
<BLOCKQUOTE id=dump75 style="DISPLAY: none; MARGIN: 0px 18px"><B>$0</B> = 
image/people <BR><B>$1</B> = image/tile <BR><B>$2</B> = image/tile 
<BR></BLOCKQUOTE><B>$flavour</B> = chocolate<BR><B>$PHPSESSID</B> = 
e165879ac669fb1227c38997e98328a1 <BR></BLOCKQUOTE><B>$HTTP_SESSION_VARS</B> = 
Array <A 
href='javascript:void((a=document.getElementById("dump81").style).display=a.display=="none"?"block":"none")'>2</A><BR> 
<BLOCKQUOTE id=dump81 style="DISPLAY: none; MARGIN: 0px 18px"><B>$logname</B> = 
The Incredible Hulk <BR><B>$q</B> = Monty Python <BR></BLOCKQUOTE><B>$_SESSION</B> = 
Array <A 
href='javascript:void((a=document.getElementById("dump84").style).display=a.display=="none"?"block":"none")'>2</A><BR> 
<BLOCKQUOTE id=dump84 
style="DISPLAY: none; MARGIN: 0px 18px"></BLOCKQUOTE><B>$auth</B> = 1 
<BR><B>$startwatch</B> = 1064365870.46 <BR><B>$domain</B> = 4umi.com 
<BR><B>$somearray</B> = Array <A 
href='javascript:void((a=document.getElementById("dump88").style).display=a.display=="none"?"block":"none")'>1</A><BR> 
<BLOCKQUOTE id=dump88 style="DISPLAY: none; MARGIN: 0px 18px"><B>$somekey</B> = quite some value 
<BR></BLOCKQUOTE><B>$path</B> = ../ <BR><B>$p</B> = 
<BR><B>$dump_count</B> = 91 <BR><B>$dump_flag</B> = 1 <BR><B>$people</B> = Array 
<A 
href='javascript:void((a=document.getElementById("dump94").style).display=a.display=="none"?"block":"none")'>5</A><BR> 
<BLOCKQUOTE id=dump94 style="DISPLAY: none; MARGIN: 0px 18px"><B>$0</B> = 
Jacques Brel <BR><B>$1</B> = Khalil Gibran <BR><B>$2</B> = Samuel Taylor 
Coleridge <BR><B>$9</B> = William Shakespeare <BR><B>$13</B> = Sun Tzu <BR></BLOCKQUOTE><B>$i</B> = 14 <BR><B>$n</B> = 2 <BR><B>$des</B> = image/tile 
<BR><B>$name</B> = arab3.gif <BR><B>$type</B> = image/gif <BR><B>$size</B> = 
135624 <BR><B>$error</B> = 0 <BR><B>$tmp_name</B> = /var/tmp/phpkBgDFz 
<BR><B>$from</B> = <BR></BLOCKQUOTE>


Rate This Script





Search



This Category All Categories