$value) {
list($name, $url, $size, $mdate, $mime) = explode("\t", "$value");
$total_filesize = $total_filesize + $size;
if ( preg_match("@/@i", $name, $matches) ) {
$dir_list[$line] = $$sort;
}
else {
$file_list[$line] = $$sort;
}
}
// Now sort our arrays;
if ( ($order == "asc") && ( ($sort == "name") || ($sort == "mdate") ) ) {natcasesort($dir_list);} // Sorted in ascending order
if ( ($order == "dec") && ( ($sort == "name") || ($sort == "mdate") ) ) {natcasesort($dir_list); $dir_list = array_reverse($dir_list, true);} // Sorted in reverse order
natcasesort($file_list);
if ($order == "dec") {$file_list = array_reverse($file_list, true);} // Sorted in reverse order
$sorted_dir = array();
foreach ($dir_list as $line => $value) {
list($name, $url, $size, $mdate, $mime) = explode("\t", $data[$line]);
$sorted_dir_names = "{$name}\t{$url}\t-\t{$mdate}\t
";
$sorted_dir[] = $sorted_dir_names . "\n";
}
foreach ($file_list as $line => $value) {$sorted_dir[] = $data[$line] . "\n";}
// Create sortable links
$name_query = "?s=name";
$size_query = "?s=size";
$mdate_query = "?s=mdate";
$mime_query = "?s=mime";
if( ($sort == "name") && ($order == "asc") ) {$name_query = "?s=name&o=dec";}
if( ($sort == "size") && ($order == "asc") ) {$size_query = "?s=size&o=dec";}
if( ($sort == "mdate") && ($order == "asc") ) {$mdate_query = "?s=mdate&o=dec";}
if( ($sort == "mime") && ($order == "asc") ) {$mime_query = "?s=mime&o=dec";}
?>
$line)
{
if($background == "w") {$background = "b";} else {$background = "w";}
/* Split the line and get the file information */
list($name, $url, $size, $date, $mimetype) = explode("\t", $line);
$is_dir = 0; if ($mimetype == "
Directory\n" ) {$is_dir = 1;}
echo "
";
echo "
";
if($is_dir && ($name == "../") ) {$not_home = 0; echo "";} // If dir link is for folder up -> ..
elseif($is_dir) {echo "";} // If link is for a directory
else {file_icons( strtolower(substr($name, strrpos($name, '.')+1)), $icons );} // If link is for regular file
echo "" . file_display($name, $chop_name) . ""; // Filename link
echo "" . nicesize($size, $nice_size, $is_dir) . ""; // Filesize
if($show_mime) {echo "" . modtime($date, $nice_date, $nice_date_style) . "
";} // Last Modified Time
else {echo modtime($date, $nice_date, $nice_date_style);} // Last Modified Time
echo img_prev( strtolower(substr($name, strrpos($name, '.')+1)), false, $i, $name );
if ($show_mime) {echo "" . trim($mimetype) . "
";} // MIME type
echo "\n";
}
?>
$cut_num) {return substr($name, 0, $cut_num) . "...";}
else {return $name;}
}
else { // Regular file w/ extension
$filename_allowed_length = ($cut_num - $ext_length); // How long the filename (w/o extension) can be
//$filename_length = (strlen($name) );
if (strlen($name) > $cut_num) {return substr($name, 0, $filename_allowed_length) . "...{$ext}";} // Too long filename+ext
else {return $name;} // Filename+ext not too long
}
}
function img_prev($ext, $a, $i, $name){
global $show_thumbnails, $supportedimages;
if($show_thumbnails && in_array($ext, $supportedimages)) {
$thumb = '
';
$thumb2 = ' onmouseover="o('.$i.', \''.urlencode($name).'\');" onmouseout="f('.$i.');"';}
if($a){return $thumb2;} else {return $thumb;}
}
function file_icons($ext, $icon_array) {
if( array_key_exists($ext, $icon_array) ) {echo "
";}
else {echo "
";}
}
function nicesize($bytes, $change, $isdir) {
if($isdir == 1) {return "-";}
if($change == false) {return $bytes;}
if($bytes < 100) {return $bytes . " b";}
elseif($bytes < (1024 * 1024)) {return number_format($bytes / 1024, 1) . " kb";}
elseif($bytes < (1024 * 1024 * 1024)) {return number_format($bytes / (1024 * 1024), 2) . " mb";}
elseif($bytes < (1024 * 1024 * 1024 * 1024)) {return number_format($bytes / (1024 * 1024 * 1024), 3) . " gb";}
}
function modtime($date, $nice_date, $nice_date_style) {
if($nice_date == false) {return $date;}
$datetime = date($nice_date_style, mktime(substr($date, 11, 2), substr($date, 14, 2), substr($date, 17, 2), substr($date, 5, 2), substr($date, 8, 2), substr($date, 0, 4)));
return $datetime;
}
function css() {
global $file_width, $size_width, $date_width, $mime_width, $show_mime;
if($show_mime) {$container_width = ($file_width + $size_width + $date_width + $mime_width + 30);}
else {$container_width = ($file_width + $size_width + $date_width + 50);}
echo "body {background-color: #E6E6E6;}
h1 {
color: #6699FF;
font-family: Arial, Helvetica, sans-serif;
font-weight:bold;
font-size: medium;
margin: 0 0 10px 8px;
padding:0;}
img {border: 0;}
form {margin: 0; padding: 0;}
#container {
width: {$container_width}px;
margin-left:auto;
margin-right:auto;
border: 1px solid #CCCCCC;
padding: 9px;
background-color:#FFFFFF;}
#breadcrumbs {
color: #6699FF;
font-family: Arial, Helvetica, sans-serif;
font-size:small;
margin: 0 0 8px 8px;}
#breadcrumbs a, #breadcrumbs a:visited, #breadcrumbs a:link, #breadcrumbs a:active {
color: #6699FF;
text-decoration:none;}
#breadcrumbs a:hover {
text-decoration:underline;}
#listingcontainer {
background-image:url(/?embedded=1&image=bg.gif);
padding: 10px;
background-color:#E0DEDE;}
#listingheader {
color: #476BB3;
font-weight:bold;
font-family:Arial, Helvetica, sans-serif;
font-size:small;
text-align: right;}
#listingheader a, #listingheader a:active, #listingheader a:visited, #listingheader a:link {
text-decoration: none;
color: #476BB3;}
#listingheader a:hover {
text-decoration: underline;
color: #476BB3;}
#headerfile {
text-align:left;
float: left;
width: {$file_width}px;}
#headersize {
text-align:right;
width: {$size_width}px;
float: left;}
#headermime {
text-align: left;
float: left;
}
#listing {border: 1px solid #A7C5FF;}
#listing a {
display:block;
padding: 2px 5px 2px 5px;
font-size:small;
color: #6285CA;
font-family:Arial, Helvetica, sans-serif;
text-decoration:none;
}
#listing a:hover {
background-color:#DBE6FE;}
#listing a img {
float:left;
margin-right: 4px;}
#listing a strong {
width: {$file_width}px;
float:left;
cursor:hand;
cursor:pointer;
text-align:left;}
#listing a em {
padding-right: 5px;
float: left;
width: {$size_width}px;
text-align:right;
cursor:hand;
cursor:pointer;}
.modtime {
float: left;
display: inline;
width: {$date_width}px;}
.mimetype {
display: inline;
width: {$mime_width}px;}
#listing a span {
position: absolute;
margin-left: -151px;
margin-top: -2px;}
#listing a span img {
width: 150px;
background-color:#CCCCCC;
visibility: hidden;}
#listing a:hover span img {
border: 1px solid #666666;
visibility: visible;}
.copy {
width: 600px;
margin-left:auto;
margin-right:auto;
text-align:center;
font-size:x-small;
color: #666666;
font-family:Arial, Helvetica, sans-serif;}
.copy a {
text-decoration: underline;
color: #666666;}
.b {background-color: #E9F0FF;}
.w {background-color:#FFFFFF;}
.mod {float:right;}
.size {float:right;}";
if($show_mime){echo "\n#headermodified {
width: {$date_width}px;
float: left;}";}
}
function make_thumb($img_name){
$filename = $_SERVER['REDIRECT_SCRIPT_FILENAME'] . $img_name;
if(!file_exists($filename)) die("Error: File
{$filename} does not exist");
if(!function_exists('imagecreatetruecolor')) die('Error: GD2 not installed / configured');
$fn_array = explode('.', $filename);
$type = strtolower(end($fn_array));
if ($type == 'jpg' || $type == 'jpeg') $img = @imagecreatefromjpeg($filename);
elseif ($type == 'png') $img = @imagecreatefrompng($filename);
elseif ($type == 'gif') {
if(!function_exists('imagecreatefromgif')) die('Error: Your version of GD does not support GIFs');
$img = @imagecreatefromgif($filename);
}
else die("Error: Image type not supported");
$x = imagesx($img);
$y = imagesy($img);
$width = 150;
$height = round(($y/$x) * $width);
$tmpimage = imagecreatetruecolor($width, $height);
imagecopyresampled($tmpimage, $img, 0, 0, 0, 0, $width, $height, $x, $y);
imagedestroy($img);
$img = $tmpimage;
if ($type == 'jpg' || $type == 'jpeg') {
header("Content-type: image/jpeg");
header("Cache-control: max-age=300");
imagejpeg($img, '', 65);}
elseif ($type == 'png') {
header("Content-type: image/png");
header("Cache-control: max-age=300");
imagetruecolortopalette($img, false, 128);
imagepng($img);}
elseif ($type == 'gif') {
header("Content-type: image/png");
header("Cache-control: max-age=300");
imagetruecolortopalette($img, false, 128);
imagepng($img);}
}
function emb_imgs($img_name) {
$images = array();
$images['bg.gif'] = 'R0lGODlhCAAIAIAAAAAAAP///yH5BAkAAAAALAAAAAAIAAgAAAINBGJnuO2pHIuTVfhCAQA7';
$images['exe.gif'] = 'R0lGODlhEAAQAOYAAFYtQOLj/DxQ/y1B4pugyJKXutne+5GUp+'.'vu/2JuqipIyiU/rFFy/0VarkZv/05z/0hann2Y/5mv/1+G/6W7'.
'/4Oi/z5NdYqZwpeiw5ulw9LY6lGB/zZIdj5PekVcj7vO+eTp9D'.'1VhUFXhGB4qVdsl4ig0rHK/7vN89Hg//L2/uzt77zQ9cXZ/8nc'.
'/7TA1c/Z7OTt/e70/16Gw9/n8vP4/6CwwCxJY+bz/1xqdnuSmU'.'hnWF1tYytrFI2qg0qAJ8Dcq3imRHGTSGedJXWeQ67ibKfSb5Pm'.
'FmSFMJ//AJz0AIrdApzuE4fKC3+7D4rCIoqzPoa9F56xblxkLo'.'SJVf/rAP/hApF5Af/UBN7AJ9W5K+zMML2kMffGBP/QEOjEIOy5'.
'ANSmANSvMd6kBI+Lf25TLP/Db/+UH8B+M/+uVf+YK/F6CPyRLt'.'6aXP+KJ/+zcf+LNtdnGv9sEf5WAqw2Fno+LdOtpdgkAv///7Oz'.
's////wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAHkALAAAAAAQAB'.'AAAAe9gHmCeSSFhoWDiYR3jIwpiIqLNCmUICQ3JJEkd5QxMTOH'.
'iW5sb3UwAQgGGi80JHiCa21ocXM9RT9ELih3roJmaWhydD5NS0'.'YZLbyvZWpncHZkQkxJTgXJvTUJMhAAPFBKSEME168TGyYMCkdB'.
'QE9TGOR5DhUUAjZiXlpdByfxDxIRBkgBw6VKlgsrWCjLgWNHgw'.'VWvlyhsqXEB4W9BumIEsYLljEq7tBQlmiEhw4WOIgQEcLQq0R4'.
'YsqciScQADs=';
$images['gif.gif'] = 'R0lGODlhEAAQAOYAANTJ1llDl0ZGrP39/q2w/JOWwYWKtJOazG'.'x0pZOaxImRuczV/3WEt5im05ShynmNwLvL87HF8XuUx4KczDxs'.
'vYKg06O85rPK8Yep3Iiq3MLb/yNv1ajK9ZzG9cvj/uPs9pnL/K'.'PR/qrU/rLY/bLV+rrb/tPd50KW5Xi38sLh/tPp/tvt/uPx/ur0'.
'/UOm91Kr9vP5/guL8YjI+wiU8gCZ/trk6e7w8Q6n4ubo6FfwT2'.'r6Md3jxr/DgeXUCNzJI+fGJu7XY/3MAPDMKf4zAO80DsZ6evPz'.
'82ZmZv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEgALAAAAAAQAB'.'AAAAexgEgYg4QZFRgMSIqLGAOOjzAYKEeLio2PAzAwLi4nlIyY'.
'mi0LCwQMn4IDQ6tFKSssKyoQqBhGq0MUNDQyKh6zjLZDARu6NC'.'W+tDZDRALEujIaF6gVHwAAMTM3uiDRqBM4sDI5OjQvIyURqBI1'.
'KytAQT0+HSUkHKgP7DtCP/w8IvWoGJjoVWIECREIRVgIaMKDhx'.'QlCooIwWHhIgQNMjZwcCBBggIKDKBCcqSkyZMlFQUCADs=';
$images['jpg.gif'] = 'R0lGODlhEAAQAOYAAFNAQqWSl6aFlamUqJaCpod1pYqCs2pntp'.'WXw6ux+GxzpYqStpil1XSEtrvK+nuNwnqTxoObycPW/JOny6O8'.
'5Yao2LfX/ent8nKm4nim2qXL9JbG96jS/YeqzMbi/tXp/tPd59'.'3k6+Xm50CS4Haz6ujz/UOm9/r8/fnlhf/hevnUeenHe+bIgf/d'.
'mv3FYvXFdNi3g/S6ZP22WaloJ/2oUteldviVRbV3RdOdceuFOY'.'pYMOKSU9uRWfyKQ2VDLfuDO8iTdP1zNrNZMf2VZvxtM/2GVLeD'.
'b+ZXJ7I0EtlJIbyJe9JBHWg0J8g1GMCblbeYk60yLWZmZv///w'.'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFIALAAAAAAQAB'.'AAAAeygFIVg4SEUVKIiRUnjI0nFSSHiYKOjSYmI5KIi5UlEhIJ'.
'DZqLQ0RBPTQuJR8fDqMnRUJBNjItLzQTroonUExITUtHR0kRup'.'slOzozOT8xPzkdxoIXNTc+PDsqKjwV0hEiTkoARjgsK0AZ0hAh'.
'AwUHAiwoKU8ZGpoPIQgGBAQBMCsEMNhL1ADEBw4cNGjYwJADBU'.'0FP3iYaKEiwoeJFDDYyGACgo8IFhjQJCWKyZMoTSIKBAA7';
$images['trans.gif'] = 'R0lGODlhCgAKAIAAAP///8DAwCH5BAEAAAEALAAAAAAKAAoAAA'.
'IIjI+py+0PYysAOw==';
$images['dirup.png'] = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABSl'.'BMVEX/////8oz/6IPo2KQRfAk+ij112kLs2Z9nzDR/40xs0Tk0'.
'sxtspWr//8bMmQEMeQfs2Zn//9HbvFv81IP133nsxk43egv//9'.'n8+c/y1WQigRffvlFRjikIdwTv4HvmvFH//sf/+KaO9Fy30rPv'.
'36snjBv/8qlOj0H16sHm0pWBrEeF6lPUqy7ixnEZmA2KtoYxgR'.'s8oR/ewWrr3bPW49FgxUDm0WPRpR/H2cLyzFsnjBQBZwEnjxQW'.
'fAz//+f/6pXWpRf/24n///LmwkS5nBH//6ziuEN7rXg8hS7/5q'.'Df5q8coA8vlB/myXnfujzv9bxXxCzgxGvetTbqwFd02EchfCBh'.
'ky5BjD5EtyL85Hwmixry5qT//74XeRNZvjkUjAtDrSL/3HcRcA'.'oIbgXf7IZJvSX/9MjmvD4vgS6PvIcgeB/drzX//5n/+ZM2id9Q'.
'AAAAAXRSTlMAQObYZgAAAAFiS0dEbbsGAK0AAAAWdEVYdFNvZn'.'R3YXJlAGdpZjJwbmcgMi40LjakM4MXAAAAuUlEQVR42mNggAAe'.
'VhMGZKAsqxerjywQ6s0dYZNhAefzxHOnBnAYJruDednZ2db8LA'.'kcXFksLGC+gIQ/UMyKi40VojxbIScnRpDXlo3TAyqgmAsE2WKc'.
'IerZ2WAB+0hJZz/2cO24TKdAsICjm4qdOK+UUpRXNDNYQFjXNS'.'cnxcc0TE0aYkawBiMjo5aqgZyIJkRAPo2JiSlJxkw0CGqLr2ei'.
'ZboLn7kQM1SA3YFPx4gZ4a/sbGNkbwIA830ixvT5AmIAAAAASU'.'VORK5CYII=';
$images['folder.png'] = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAkF'.'BMVEX////MmTT/zGezgRvLmDN/f3/AjSi6hyK9iiWgbghra2vC'.
'jyr/5oGufBbHlC+jcQuwfhiIiIjJljGcagS1gh24hSCebAaZZw'.'GaaAK0gRzvvFfcqUT4xWC8iSRKSkqreRPCwsK/jCeodhDms06l'.
'cw23hB/ToDv/1G//4HvFki3/64X/95Fqamr//////5n/9I54UB'.'IWAAAAAXRSTlMAQObYZgAAAAFiS0dELc3aQT0AAAAWdEVYdFNv'.
'ZnR3YXJlAGdpZjJwbmcgMi40LjakM4MXAAAAiUlEQVR42oXOxx'.'KCMBgE4CWhVwEp9i4Ekt/3fzuDE0YdD3633dnDAr8su0i/stKi'.
'40cmTfnebckXU2GPj8k0U0mui2KIxYu7q1acA2kv1CxWWQ7RWT'.'TbUhAiYjaNxppqCZcJGowLlRI+O1FvbKiV8FhFnXGnJgT0n+Rw'.
'vmZBXbbN3tFPHPnm4L8nl3EWVP90I8IAAAAASUVORK5CYII=';
$images['html.png'] = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABhl'.'BMVEX///+hxOZ/rscyiM3K2P9LiLSYwtUzmOyCtdC/v7+pzv+7'.
'zuMmisJSUoNqa5tuxOu+yv9Dqv50gLIpRV+6yv/W1tZtwebs9f'.'96fqcpluW62/t1sd0iRGqtzf/I1v0wc7JAZImIq96ftNg/qfc7'.
'ue8oPVuU6fzb7f9HeKUxle0voutoapdIbIlRpuVLbIh0lLRVVo'.'ZhY5CEo9Zvcp7T6f/z+f+q0Ou/3/+lueHo8Pe00vD9/v8ztPB0'.
'eKMxqvJbXIvJ1/5WVoe0zP8/uu57zfgyj9jb6vjG1fsmnOXs9v'.'8jkdIon+bL6vawzf8mRGYzqd1xo8i91+YfcZ6ZqrwqbKx1qN59'.
'gat/osA/eLFLwfmnsb41kdkqe8TJ2P+3zP+9yv9xgbJ9zvsyXY'.'9CleSUt9ZVlcCoxuOit95jbZyhuMo9y/6zxezB0PYznOxLga7G'.
'1fzh7PY9oNrk8v9Jpuarzf+22OlJisRr8/87mOrE4v/M5f8eYJ'.'qHqdxZlrxYWYmQkJD////39/c1+Qs8AAAAAXRSTlMAQObYZgAA'.
'AAFiS0dEgGW9nmgAAAAWdEVYdFNvZnR3YXJlAGdpZjJwbmcgMi'.'40LjakM4MXAAAA2klEQVR42mNgYGCoAQNFIyFRBgiosW4AA6EA'.
'TqhAQ4NlIAdHaYJAMkSkphYEGpwz+PjC6oF8tlq18iyV1AaxAl'.'MBiXoQ38efh8dbK6/BUzzeFihQ28gUxNgQIxit71YkYlwP4tt4'.
'Feu6sgtqcKvHadczNDJFelSDgQK3iZNhPUOmi51kNWMVCKRV+d'.'rXM7AWRuRqyjMyMzPrWFXKOgIFgqNCKtiV+fmFU6TMS3jrGRLD'.
'G8uSZPxU9ZRyHFi4gAIMZtKhchbp2fnusSwsXAYglzLUIQGwAE'.'M9EgAANINGWfF9t2oAAAAASUVORK5CYII=';
$images['text.png'] = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAsV'.'BMVEX///+GaULUv0uQazF4eMGdgl2UlJSjo6NpaWnBz9br9fNy'.
'cnLJyeN+goLh4eGcoqK/yti+0NGEbm29wMvBztm/ztW8qpG/zd'.'W9m06khT2NjY2ipaTX19eQkZG+tLrCwsK8zNSAgICNeW+2ys68'.
'wMDDycjs9fS7zdC+zdSUfmO5ttOpkG9rbW3b29ufn5/ExuLx+P'.'f8/f3s9vT3+/pxcXHW1tZ4eMB+f3/p9PL///+7vb1gNwqKAAAA'.
'AXRSTlMAQObYZgAAAAFiS0dEOdcAlUAAAAAWdEVYdFNvZnR3YX'.'JlAGdpZjJwbmcgMi40LjakM4MXAAAAf0lEQVR42mNgwAIkmJgl'.
'mTSZhFhNIXweFhZmMSUtbTlWdj6wgJk+owWjEaMxo6WJDERA3c'.'LCwsjA2NDSBKLHjBNdQNTC3NzcCklAHF2FIEiFuZUlXEADXYUA'.
'ugoRdBUKFuZWKALKFhZcaqoq0rJsuhDPCPPz6nBwK0rpyWPzOg'.'DQNxtNkr7BnAAAAABJRU5ErkJggg==';
$images['unknown.png'] = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAM1'.'BMVEX///8AgAD//wD/AAAA////zDPLy8sICAjn59ZVVVWGhoYA'.
'AP+ZmZnMzMwAAJn///+AAADJQpymAAAAAXRSTlMAQObYZgAAAA'.'FiS0dEDxi6ANkAAAAWdEVYdFNvZnR3YXJlAGdpZjJwbmcgMi40'.
'LjakM4MXAAAAVklEQVR42l3OWw7AIAhEUexLUeu4/9XaUlHq/T'.'whE4jiKJMUg5b5A2gZvAAzC4wRf3UoZ5E8FMoCfSNM2CqQLNQd'.
'6UgG8Fw4N0FfVfCjDiaB2/QC/6IGC9YJmappnzcAAAAASUVORK'.'5CYII=';
if( preg_match("/.gif/", $img_name) && array_key_exists($img_name, $images) ) {
header("Content-type: image/gif");
header("Cache-control: max-age=300");
$size = ( (strlen($images[$img_name]) / 4) * 3 );
header("Content-length: {$size}");
echo base64_decode($images[$img_name]);
exit();}
elseif( preg_match("/.png/", $img_name) && array_key_exists($img_name, $images) ) {
header("Content-type: image/png");
header("Cache-control: max-age=300");
$size = ( (strlen($images[$img_name]) / 4) * 3 );
header("Content-length: {$size}");
echo base64_decode($images[$img_name]);
exit();}
}
?>