<?php
/*
* Copyright 2011, File DownLoader v1.0
* MIT Licensed
* @author shiny <shiny@meettea.com>
*
* DO NOT TO BREAK THE LAWS of THE PEOPLE'S REPULIC OF CHINA
*
* THANK YOU!
*/
@ini_set("memory_limit","99999 M");
@set_time_limit(0);
if(isset($_GET['act']) && $_GET['act']=='bg' && function_exists('bg')) bg();
$file = isset($_GET['f']) ? realpath($_GET['f']) : dirname(__FILE__);
if(is_dir($file)){
show_files(@scandir($file),$file);
} else if(is_file($file)) {
if(isset($_GET['act']) && $_GET['act']=='dl'){
header('Content-Type: application/octet-stream');
header('Content-Length: '.filesize($file));
header("Content-disposition: attachment; filename=".basename($file));
} else {
header('Content-Type: text/plain');
}
$f = fopen($file,"r");
ob_start();
while(!feof($f)){
echo fgets($f);
ob_flush();
flush();
}
fclose($f);
} else {
echo 'WHAT\'S ',$file;
}
//FUNCTIONS
/**
* scanfiles
*/
function show_files($files,$dir){
echo '<title>File DownLoader',htmlspecialchars($dir),'</title><h1>',$dir,'</h1>';
if(empty($files)){
echo('Permission denied. ');
} else {
echo '<style>html{background:url(',$_SERVER['SCRIPT_NAME'],'?act=bg) fixed no-repeat left top;} a{color:#F90; line-height:1.5; text-decoration:none; border-bottom:dashed #efefef 1px} a:hover{background:#900; color:#FFF;}</style><pre dir=\'ltr\'>';
foreach($files as $file){
$get = urlencode($dir.DIRECTORY_SEPARATOR.$file);
echo "<a href='?f={$get}'>{$file}</a>";
if(is_file($dir.DIRECTORY_SEPARATOR.$file))
echo " - <a href='?f={$get}&act=dl'>DownLoad</a>";
echo " <small>",finfo($dir.DIRECTORY_SEPARATOR.$file),"</small>\r\n";
}
echo '</pre>';
}
echo '<a href="javascript:history.go(-1);">BACK</a> - <a href="?f=',urlencode(dirname(__FILE__)),'">Home</a> <a href="?f=%2F">/</a> - <a href="http://dev.meettea.com">The MIT Licence</a>';
}
/**
* show file info
*/
function finfo($file){
if(is_dir($file)) return '';
$fileSize = @filesize($file);
$size = sprintf("%u", $fileSize);
if($size == 0) return("0 Bytes");
$sizename = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
return round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizename[$i] . ' / ' .date("Y-m-d H:i:s",filemtime($file));
}
/**
* show bg gif
* YOU CAN DELETE THIS FUNCTION!!!
*/
function bg(){
header("Content-Type: image/gif");
echo base64_decode('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