function table_var_dump($variable) { $returnstring = ''; switch (gettype($variable)) { case 'array': $returnstring .= '<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="2">'; foreach ($variable as $key => $value) { $returnstring .= '<TR><TD VALIGN="TOP"><B>' . str_replace(chr(0), ' ', $key) . '</B></TD>'; $returnstring .= '<TD VALIGN="TOP">' . gettype($value); if (is_array($value)) { $returnstring .= ' (' . count($value) . ')'; } elseif (is_string($value)) { $returnstring .= ' (' . strlen($value) . ')'; } if ($key == 'data' && isset($variable['image_mime']) && isset($variable['dataoffset'])) { require_once GETID3_INCLUDEPATH . 'getid3.getimagesize.php'; $imageinfo = array(); $imagechunkcheck = GetDataImageSize($value, $imageinfo); $DumpedImageSRC = (!empty($_REQUEST['filename']) ? $_REQUEST['filename'] : '.getid3') . '.' . $variable['dataoffset'] . '.' . ImageTypesLookup($imagechunkcheck[2]); if ($tempimagefile = fopen($DumpedImageSRC, 'wb')) { fwrite($tempimagefile, $value); fclose($tempimagefile); } $returnstring .= '</TD><TD><IMG SRC="' . $DumpedImageSRC . '" WIDTH="' . $imagechunkcheck[0] . '" HEIGHT="' . $imagechunkcheck[1] . '"></TD></TR>'; } else { $returnstring .= '</TD><TD>' . table_var_dump($value) . '</TD></TR>'; } } $returnstring .= '</TABLE>'; break; case 'boolean': $returnstring .= $variable ? 'TRUE' : 'FALSE'; break; case 'integer': case 'double': case 'float': $returnstring .= $variable; break; case 'object': case 'null': $returnstring .= string_var_dump($variable); break; case 'string': $variable = str_replace(chr(0), ' ', $variable); $varlen = strlen($variable); for ($i = 0; $i < $varlen; $i++) { if (ereg('[' . chr(0xa) . chr(0xd) . ' -;0-9A-Za-z]', $variable[$i])) { $returnstring .= $variable[$i]; } else { $returnstring .= '&#' . str_pad(ord($variable[$i]), 3, '0', STR_PAD_LEFT) . ';'; } } $returnstring = nl2br($returnstring); break; default: require_once GETID3_INCLUDEPATH . 'getid3.getimagesize.php'; $imageinfo = array(); $imagechunkcheck = GetDataImageSize(substr($variable, 0, FREAD_BUFFER_SIZE), $imageinfo); if ($imagechunkcheck[2] >= 1 && $imagechunkcheck[2] <= 3) { $returnstring .= '<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="2">'; $returnstring .= '<TR><TD><B>type</B></TD><TD>' . ImageTypesLookup($imagechunkcheck[2]) . '</TD></TR>'; $returnstring .= '<TR><TD><B>width</B></TD><TD>' . number_format($imagechunkcheck[0]) . ' px</TD></TR>'; $returnstring .= '<TR><TD><B>height</B></TD><TD>' . number_format($imagechunkcheck[1]) . ' px</TD></TR>'; $returnstring .= '<TR><TD><B>size</B></TD><TD>' . number_format(strlen($variable)) . ' bytes</TD></TR></TABLE>'; } else { $returnstring .= nl2br(htmlspecialchars(str_replace(chr(0), ' ', $variable))); } break; } return $returnstring; }
function table_var_dump($variable, $wrap_in_td = false, $encoding = 'ISO-8859-1') { $returnstring = ''; switch (gettype($variable)) { case 'array': $returnstring .= $wrap_in_td ? '<td>' : ''; $returnstring .= '<table class="dump" cellspacing="0" cellpadding="2">'; foreach ($variable as $key => $value) { $returnstring .= '<tr><td valign="top"><b>' . str_replace("", ' ', $key) . '</b></td>' . "\n"; $returnstring .= '<td valign="top">' . gettype($value); if (is_array($value)) { $returnstring .= ' (' . count($value) . ')'; } elseif (is_string($value)) { $returnstring .= ' (' . strlen($value) . ')'; } //if (($key == 'data') && isset($variable['image_mime']) && isset($variable['dataoffset'])) { if ($key == 'data' && isset($variable['image_mime'])) { $imageinfo = array(); $imagechunkcheck = getid3_lib::GetDataImageSize($value, $imageinfo); $returnstring .= '</td>' . "\n" . '<td><img src="data:' . $variable['image_mime'] . ';base64,' . base64_encode($value) . '" width="' . $imagechunkcheck[0] . '" height="' . $imagechunkcheck[1] . '"></td></tr>' . "\n"; } else { $returnstring .= '</td>' . "\n" . table_var_dump($value, true, $encoding) . '</tr>' . "\n"; } } $returnstring .= '</table>' . "\n"; $returnstring .= $wrap_in_td ? '</td>' . "\n" : ''; break; case 'boolean': $returnstring .= ($wrap_in_td ? '<td class="dump_boolean">' : '') . ($variable ? 'TRUE' : 'FALSE') . ($wrap_in_td ? '</td>' . "\n" : ''); break; case 'integer': $returnstring .= ($wrap_in_td ? '<td class="dump_integer">' : '') . $variable . ($wrap_in_td ? '</td>' . "\n" : ''); break; case 'double': case 'float': $returnstring .= ($wrap_in_td ? '<td class="dump_double">' : '') . $variable . ($wrap_in_td ? '</td>' . "\n" : ''); break; case 'object': case 'null': $returnstring .= ($wrap_in_td ? '<td>' : '') . string_var_dump($variable) . ($wrap_in_td ? '</td>' . "\n" : ''); break; case 'string': //$variable = str_replace("\x00", ' ', $variable); //$varlen = strlen($variable); //for ($i = 0; $i < $varlen; $i++) { // $returnstring .= htmlentities($variable{$i}, ENT_QUOTES, $encoding); //} $returnstring = htmlentities($variable, ENT_QUOTES, $encoding); $returnstring = ($wrap_in_td ? '<td class="dump_string">' : '') . nl2br($returnstring) . ($wrap_in_td ? '</td>' . "\n" : ''); break; default: $imageinfo = array(); $imagechunkcheck = getid3_lib::GetDataImageSize($variable, $imageinfo); if ($imagechunkcheck[2] >= 1 && $imagechunkcheck[2] <= 3) { $returnstring .= $wrap_in_td ? '<td>' : ''; $returnstring .= '<table class="dump" cellspacing="0" cellpadding="2">'; $returnstring .= '<tr><td><b>type</b></td><td>' . getid3_lib::ImageTypesLookup($imagechunkcheck[2]) . '</td></tr>' . "\n"; $returnstring .= '<tr><td><b>width</b></td><td>' . number_format($imagechunkcheck[0]) . ' px</td></tr>' . "\n"; $returnstring .= '<tr><td><b>height</b></td><td>' . number_format($imagechunkcheck[1]) . ' px</td></tr>' . "\n"; $returnstring .= '<tr><td><b>size</b></td><td>' . number_format(strlen($variable)) . ' bytes</td></tr></table>' . "\n"; $returnstring .= $wrap_in_td ? '</td>' . "\n" : ''; } else { $returnstring .= ($wrap_in_td ? '<td>' : '') . nl2br(htmlspecialchars(str_replace("", ' ', $variable))) . ($wrap_in_td ? '</td>' . "\n" : ''); } break; } return $returnstring; }
function table_var_dump($variable, $wrap_in_td = false) { $returnstring = ''; switch (gettype($variable)) { case 'array': $returnstring .= $wrap_in_td ? '<td>' : ''; $returnstring .= '<table class="dump" cellspacing="0" cellpadding="2">'; foreach ($variable as $key => $value) { $returnstring .= '<tr><td valign="top"><b>' . str_replace("", ' ', $key) . '</b></td>'; $returnstring .= '<td valign="top">' . gettype($value); if (is_array($value)) { $returnstring .= ' (' . count($value) . ')'; } elseif (is_string($value)) { $returnstring .= ' (' . strlen($value) . ')'; } if ($key == 'data' && isset($variable['image_mime']) && isset($variable['dataoffset'])) { $imageinfo = array(); $imagechunkcheck = getid3_lib::GetDataImageSize($value, $imageinfo); $DumpedImageSRC = (!empty($_REQUEST['filename']) ? $_REQUEST['filename'] : '.getid3') . '.' . $variable['dataoffset'] . '.' . getid3_lib::ImageTypesLookup($imagechunkcheck[2]); if ($tempimagefile = @fopen($DumpedImageSRC, 'wb')) { fwrite($tempimagefile, $value); fclose($tempimagefile); } $returnstring .= '</td><td><img src="' . $_SERVER['PHP_SELF'] . '?showfile=' . urlencode($DumpedImageSRC) . '&md5=' . md5_file($DumpedImageSRC) . '" width="' . $imagechunkcheck[0] . '" height="' . $imagechunkcheck[1] . '"></td></tr>'; } else { $returnstring .= '</td>' . table_var_dump($value, true) . '</tr>'; } } $returnstring .= '</table>'; $returnstring .= $wrap_in_td ? '</td>' : ''; break; case 'boolean': $returnstring .= ($wrap_in_td ? '<td class="dump_boolean">' : '') . ($variable ? 'TRUE' : 'FALSE') . ($wrap_in_td ? '</td>' : ''); break; case 'integer': $returnstring .= ($wrap_in_td ? '<td class="dump_integer">' : '') . $variable . ($wrap_in_td ? '</td>' : ''); break; case 'double': case 'float': $returnstring .= ($wrap_in_td ? '<td class="dump_double">' : '') . $variable . ($wrap_in_td ? '</td>' : ''); break; case 'object': case 'null': $returnstring .= ($wrap_in_td ? '<td>' : '') . string_var_dump($variable) . ($wrap_in_td ? '</td>' : ''); break; case 'string': $variable = str_replace("", ' ', $variable); $varlen = strlen($variable); for ($i = 0; $i < $varlen; $i++) { if (ereg('[' . "\n\r" . ' -;0-9A-Za-z]', $variable[$i])) { $returnstring .= $variable[$i]; } else { $returnstring .= '&#' . str_pad(ord($variable[$i]), 3, '0', STR_PAD_LEFT) . ';'; } } $returnstring = ($wrap_in_td ? '<td class="dump_string">' : '') . nl2br($returnstring) . ($wrap_in_td ? '</td>' : ''); break; default: $imageinfo = array(); $imagechunkcheck = getid3_lib::GetDataImageSize($variable, $imageinfo); if ($imagechunkcheck[2] >= 1 && $imagechunkcheck[2] <= 3) { $returnstring .= $wrap_in_td ? '<td>' : ''; $returnstring .= '<table class="dump" cellspacing="0" cellpadding="2">'; $returnstring .= '<tr><td><b>type</b></td><td>' . getid3_lib::ImageTypesLookup($imagechunkcheck[2]) . '</td></tr>'; $returnstring .= '<tr><td><b>width</b></td><td>' . number_format($imagechunkcheck[0]) . ' px</td></tr>'; $returnstring .= '<tr><td><b>height</b></td><td>' . number_format($imagechunkcheck[1]) . ' px</td></tr>'; $returnstring .= '<tr><td><b>size</b></td><td>' . number_format(strlen($variable)) . ' bytes</td></tr></table>'; $returnstring .= $wrap_in_td ? '</td>' : ''; } else { $returnstring .= ($wrap_in_td ? '<td>' : '') . nl2br(htmlspecialchars(str_replace("", ' ', $variable))) . ($wrap_in_td ? '</td>' : ''); } break; } return $returnstring; }
function table_var_dump($variable) { $returnstring = ''; switch (gettype($variable)) { case 'array': $returnstring .= '<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="2">'; foreach ($variable as $key => $value) { $returnstring .= '<TR><TD VALIGN="TOP"><B>' . str_replace("", ' ', $key) . '</B></TD>'; $returnstring .= '<TD VALIGN="TOP">' . gettype($value); if (is_array($value)) { $returnstring .= ' (' . count($value) . ')'; } elseif (is_string($value)) { $returnstring .= ' (' . strlen($value) . ')'; } $returnstring .= '</TD><TD>' . table_var_dump($value) . '</TD></TR>'; } $returnstring .= '</TABLE>'; break; case 'boolean': $returnstring .= $variable ? 'TRUE' : 'FALSE'; break; case 'integer': case 'double': case 'float': $returnstring .= $variable; break; case 'object': case 'null': $returnstring .= string_var_dump($variable); break; case 'string': $variable = str_replace("", ' ', $variable); $varlen = strlen($variable); for ($i = 0; $i < $varlen; $i++) { if (ereg('[' . chr(0xa) . chr(0xd) . ' -;0-9A-Za-z]', $variable[$i])) { $returnstring .= $variable[$i]; } else { $returnstring .= '&#' . str_pad(ord($variable[$i]), 3, '0', STR_PAD_LEFT) . ';'; } } $returnstring = nl2br($returnstring); break; default: $returnstring .= nl2br(htmlspecialchars(str_replace("", ' ', $variable))); break; } return $returnstring; }