<?php require "config.php"; if (!isset($_REQUEST['type'])) { header("Location: ./404.php"); exit; } elseif (($type = trim($_REQUEST['type'])) == "") { header("Location: ./404.php"); exit; } if (!isset($_GET['gopath'])) { $gopath = OPEN; } else { $gopath = ___realpath(trim($_GET['gopath'])); } if (!isset($_GET['getcwd'])) { $getcwd = $gopath; } else { $getcwd = ___realpath(trim($_GET['getcwd'])); } if ($type == "list") { header("Location: ./flist.php?getcwd=" . urlencode($getcwd)); exit; } elseif ($type == "create") { header("Location: ./create.php?getcwd=" . urlencode($getcwd)); exit; } elseif ($type == "upload") { header("Location: ./upload.php?getcwd=" . urlencode($getcwd)); exit; } elseif ($type == "addlist") { if (isset($_POST['flist'])) if (count($_POST['flist']) > 0) { if (!isset($_SESSION['flist'])) $_SESSION['flist'] = array(); $_SESSION['flist'] = array_filter(array_unique(array_merge($_SESSION['flist'], array_map('urldecode', $_POST['flist'])))); usort($_SESSION['flist'], "___sortcmp"); } header("Location: ./flist.php?getcwd=" . urlencode($getcwd)); exit; } elseif ($type == "unzipdir") { if (isset($_SESSION['ffpath'])) if (!is_dir($_SESSION['ffpath'])) { header("Location: ./unzip.php?path=" . urlencode($_SESSION['ffpath']) . "&unzipdir=" . urlencode($getcwd)); exit; } header("Location: ./404.php"); exit; } elseif ($type == "unpackdir") { if (isset($_SESSION['ffpath'])) if (!is_dir($_SESSION['ffpath'])) { header("Location: ./file.php?path=" . urlencode($_SESSION['ffpath']) . "&unpackdir=" . urlencode($getcwd)); exit; } header("Location: ./404.php"); exit; } elseif ($type == "shell_exec") { header("Location: ./shell.php?getcwd=" . urlencode($getcwd)); exit; } if (isset($_POST['flist'])) { if (!is_array($_POST['flist'])) { $_SESSION['flist'] = array(); } else { $_SESSION['flist'] = array_map('urldecode', $_POST['flist']); } } elseif (!isset($_SESSION['flist'])) { $_SESSION['flist'] = array(); } switch ($type) { case "move" : xhtml_head("批量移动"); if (count($_SESSION['flist']) < 1) { echo "<div class=\"error\">\n"; echo "[<a href=\"./index.php?path=" . urlencode($getcwd) . "\">返回</a>]抱歉,没有文件列表!\n"; echo "</div>\n"; } else { echo "<div class=\"like\">\n"; echo "<a href=\"./index.php?path=" . urlencode($getcwd) . "&multiple=$type\">选择路径</a>(目标目录)\n"; echo "</div>\n"; echo "<div class=\"love\">\n"; echo "<form action=\"move.php\" method=\"GET\">\n"; echo "<input type=\"text\" name=\"gopath\" value=\"$getcwd\" />\n"; echo "<input type=\"hidden\" name=\"getcwd\" value=\"$getcwd\" />\n"; echo "<input type=\"submit\" value=\"GO\" />\n"; echo "</form>\n"; echo "</div>\n"; echo "<div class=\"like\">文件清单(选择列表)</div>\n"; for ($i = 0; $i < count($_SESSION['flist']); $i++) { echo "<div class=\"love\">[$i] - {$_SESSION['flist'][$i]}</div>\n"; } } xhtml_footer(); break; case "copy" : xhtml_head("批量复制"); if (count($_SESSION['flist']) < 1) { echo "<div class=\"error\">\n"; echo "[<a href=\"./index.php?path=" . urlencode($getcwd) . "\">返回</a>]抱歉,没有文件列表!\n"; echo "</div>\n"; } else { echo "<div class=\"like\">\n"; echo "<a href=\"./index.php?path=" . urlencode($getcwd) . "&multiple=$type\">选择路径</a>(目标目录)\n"; echo "</div>\n"; echo "<div class=\"love\">\n"; echo "<form action=\"copy.php\" method=\"GET\">\n"; echo "<input type=\"text\" name=\"gopath\" value=\"$getcwd\" />\n"; echo "<input type=\"hidden\" name=\"getcwd\" value=\"$getcwd\" />\n"; echo "<input type=\"submit\" value=\"GO\" />\n"; echo "</form>\n"; echo "</div>\n"; echo "<div class=\"like\">文件清单(选择列表)</div>\n"; for ($i = 0; $i < count($_SESSION['flist']); $i++) { echo "<div class=\"love\">[$i] - {$_SESSION['flist'][$i]}</div>\n"; } } xhtml_footer(); break; case "pkzip" : xhtml_head("压缩文件"); if (count($_SESSION['flist']) < 1) { echo "<div class=\"error\">\n"; echo "[<a href=\"./index.php?path=" . urlencode($getcwd) . "\">返回</a>]抱歉,没有文件列表!\n"; echo "</div>\n"; } else { if (($zpath = ___realpath($getcwd)) == "/") { $zpath = $zpath .= "archive.zip"; } else { $zpath = $zpath .= "/archive.zip"; } echo "<div class=\"like\">\n"; echo "<a href=\"./index.php?path=" . urlencode($getcwd) . "&multiple=$type\">存放目录</a>(归档路径)\n"; echo "</div>\n"; echo "<div class=\"love\">\n"; echo "<form action=\"pkzip.php\" method=\"GET\">\n"; echo "<input type=\"text\" name=\"gopath\" value=\"$zpath\" />\n"; echo "<input type=\"hidden\" name=\"getcwd\" value=\"$getcwd\" />\n"; echo "<input type=\"submit\" value=\"GO\" />\n"; echo "</form>\n"; echo "</div>\n"; echo "<div class=\"like\">文件清单(选择列表)</div>\n"; for ($i = 0; $i < count($_SESSION['flist']); $i++) { echo "<div class=\"love\">[$i] - {$_SESSION['flist'][$i]}</div>\n"; } } xhtml_footer(); break; case "chmod" : xhtml_head("批量改权"); if (count($_SESSION['flist']) < 1) { echo "<div class=\"error\">\n"; echo "[<a href=\"./index.php?path=" . urlencode($getcwd) . "\">返回</a>]抱歉,没有文件列表!\n"; echo "</div>\n"; } else { echo "<div class=\"like\">\n"; echo "<a href=\"./index.php?path=" . urlencode($getcwd) . "\">文件列表</a>(返回浏览)\n"; echo "</div>\n"; echo "<div class=\"love\">\n"; echo "<form action=\"chmod.php\" method=\"GET\">\n"; echo "递归权限:<input type=\"radio\" name=\"recursive\" value=\"on\" checked />开启\n"; echo "<input type=\"radio\" name=\"recursive\" value=\"off\" />关闭\n<br />\n"; echo "目录权限:<input type=\"text\" name=\"dirperms\" value=\"0755\" />\n"; echo "<br />\n文件权限:<input type=\"text\" name=\"fileperms\" value=\"0644\" />\n"; echo "<input type=\"hidden\" name=\"getcwd\" value=\"$getcwd\" />\n"; echo "<br />\n<input type=\"submit\" value=\"GO\" />\n"; echo "</form>\n"; echo "</div>\n"; echo "<div class=\"like\">文件清单(选择列表)</div>\n"; for ($i = 0; $i < count($_SESSION['flist']); $i++) { echo "<div class=\"love\">[$i] - {$_SESSION['flist'][$i]}</div>\n"; } } xhtml_footer(); break; case "delete"; xhtml_head("批量删除"); if (count($_SESSION['flist']) < 1) { echo "<div class=\"error\">\n"; echo "[<a href=\"./index.php?path=" . urlencode($getcwd) . "\">返回</a>]抱歉,没有文件列表!\n"; echo "</div>\n"; } else { echo "<div class=\"love\">\n"; echo "[<a href=\"./index.php?path=" . urlencode($getcwd) . "\">返回</a>]\n"; echo "此操作不可逆,<a href=\"./delete.php?getcwd=" . urlencode($getcwd) . "\">确认删除</a>?\n"; echo "</div>\n"; echo "<div class=\"like\">文件清单(选择列表)</div>\n"; for ($i = 0; $i < count($_SESSION['flist']); $i++) { echo "<div class=\"love\">[$i] - {$_SESSION['flist'][$i]}</div>\n"; } } xhtml_footer(); break; case "sendfile" : xhtml_head("文件发送"); if (count($_SESSION['flist']) < 1) { echo "<div class=\"error\">\n"; echo "[<a href=\"./index.php?path=" . urlencode($getcwd) . "\">返回</a>]抱歉,没有文件列表!\n"; echo "</div>\n"; } else { echo "<div class=\"like\">\n"; echo "<a href=\"./index.php?path=" . urlencode($getcwd) . "\">返回目录</a>(接收邮箱)\n"; echo "</div>\n"; echo "<div class=\"love\">\n"; echo "<form action=\"mail.php\" method=\"GET\">\n"; echo "<input type=\"text\" name=\"mail\" />\n"; echo "<input type=\"hidden\" name=\"getcwd\" value=\"$getcwd\" />\n"; echo "<input type=\"submit\" value=\"GO\" />\n"; echo "</form>\n"; echo "</div>\n"; echo "<div class=\"like\">文件清单(选择列表)</div>\n"; for ($i = 0; $i < count($_SESSION['flist']); $i++) { echo "<div class=\"love\">[$i] - {$_SESSION['flist'][$i]}</div>\n"; } } xhtml_footer(); break; default : header("Location: ./404.php"); exit; } ?>