mirror of
https://github.com/xiaoqidun/phpcp.git
synced 2024-12-21 13:11:07 +08:00
216 lines
9.3 KiB
PHP
216 lines
9.3 KiB
PHP
<?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;
|
||
}
|
||
?>
|