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 .= '&nbsp;(' . count($value) . ')';
                 } elseif (is_string($value)) {
                     $returnstring .= '&nbsp;(' . 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;
 }
Example #2
0
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 .= '&nbsp;(' . count($value) . ')';
                } elseif (is_string($value)) {
                    $returnstring .= '&nbsp;(' . 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;
}
Example #3
0
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 .= '&nbsp;(' . count($value) . ')';
                } elseif (is_string($value)) {
                    $returnstring .= '&nbsp;(' . 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;
}
Example #4
0
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 .= '&nbsp;(' . count($value) . ')';
                } elseif (is_string($value)) {
                    $returnstring .= '&nbsp;(' . 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;
}