phpcp/upload.php

140 lines
5.3 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
require "config.php";
if (!isset($_GET['getcwd'])) {
$getcwd = OPEN;
} else {
$getcwd = ___realpath(trim($_GET['getcwd']));
}
if (!is_dir($getcwd)) {
header("Location: ./404.php");
exit;
}
xhtml_head("批量上传");
echo "<div class=\"like\">\n";
echo "<a href=\"./index.php?path=" . urlencode($getcwd) . "\">返回目录</a>\n";
if (isset($_GET['url'])) {
echo "<a href=\"?getcwd=" . urlencode($getcwd) . "\">本地上传</a>\n";
} else {
echo "<a href=\"?url&getcwd=" . urlencode($getcwd) . "\">远程上传</a>\n";
}
echo "</div>\n";
echo "<div class=\"love\">\n";
echo "<form action=\"\" method=\"GET\">\n";
echo "<input type=\"hidden\" name=\"getcwd\" value=\"$getcwd\" />\n";
if (isset($_GET['url'])) echo "<input type=\"hidden\" name=\"url\" />\n";
echo "数量-&gt;<input type=\"text\" name=\"uploadnum\" />\n";
echo "<input type=\"submit\" value=\"GO\" />\n";
echo "</form>\n";
echo "</div>\n";
if (isset($_GET['url'])) {
if (isset($_POST['fupload'])) if (is_array($_POST['fupload'])) if (count($_POST['fupload']) > 0) {
$o = 0;
$i = 0;
echo "<div class=\"like\">上传文件信息报告</div>\n";
while ($i < count($_POST['fupload'])) {
if (!preg_match("/^[a-z0-9]+\:\/\/.+/si", $_POST['fupload'][$i])) {
$i++;
continue;
}
preg_match("/[^\/\?&\s\:\\\]+$/i", $_POST['fupload'][$i], $fname);
$fname = $fname[0] != "" ? $fname[0] : time() . ".file";
if (!($fp = fopen(trim($_POST['fupload'][$i]), "rb"))) {
echo "<div class=\"error\">\n";
echo "{$fname}Error&ensp;!\n";
echo "</div>\n";
} elseif (!($fp2 = fopen($fpath = "$getcwd/$fname", "wb"))) {
echo "<div class=\"error\">\n";
echo "{$fname}Error&ensp;!\n";
echo "</div>\n";
} else {
while (!feof($fp)) {
fwrite($fp2, fread($fp, 4096));
}
fclose($fp);
fclose($fp2);
if (filesize($fpath) > 0) {
echo "<div class=\"love\">\n";
echo "{$fname}Yes&ensp;!\n";
echo "</div>\n";
} else {
unlink($fpath);
echo "<div class=\"error\">\n";
echo "{$fname}Error&ensp;!\n";
echo "</div>\n";
}
}
$o++;
$i++;
}
if ($o < 1) echo "郁闷,没有任何文件被上传!\n";
}
echo "<div class=\"like\">输入您的上传地址</div>\n";
echo "<form action=\"?url&getcwd=" . urlencode($getcwd) . "\" method=\"POST\">\n";
if (!isset($_GET['uploadnum'])) {
echo "<div class=\"love\">\n";
echo "地址[+]<input type=\"text\" name=\"fupload[]\" />\n";
echo "</div>\n";
} else {
$i = 0;
$uploadnum = (int)trim($_GET['uploadnum']);
if ($uploadnum < 1) $uploadnum = 1;
while ($i < $uploadnum) {
echo "<div class=\"love\">\n";
echo "地址[" . ($i + 1) . "]<input type=\"text\" name=\"fupload[]\" />\n";
echo "</div>\n";
$i++;
}
}
echo "<div class=\"love\">\n";
echo "<input type=\"submit\" value=\"远程上传所有文件\" />(有效&ensp;地址)\n";
echo "</div>\n";
echo "</form>\n";
} else {
if (isset($_FILES['fupload'])) if (count($_FILES['fupload']) > 0) {
$o = 0;
$i = 0;
echo "<div class=\"like\">上传文件信息报告</div>\n";
while ($i < count($_FILES['fupload']['size'])) {
if ($_FILES['fupload']['size'][$i] < 1) {
$i++;
continue;
}
if (!move_uploaded_file($_FILES['fupload']['tmp_name'][$i], $getcwd . "/" . $_FILES['fupload']['name'][$i])) {
echo "<div class=\"error\">\n";
echo "{$_FILES['fupload']['name'][$i]}Error&ensp;!\n";
echo "</div>\n";
} else {
echo "<div class=\"love\">\n";
echo "{$_FILES['fupload']['name'][$i]}" . ___filesize($_FILES['fupload']['size'][$i]) . "\n";
echo "</div>\n";
}
$o++;
$i++;
}
if ($o < 1) echo "郁闷,没有任何文件被上传!\n";
}
echo "<div class=\"like\">选择您的上传文件</div>\n";
echo "<form action=\"?getcwd=" . urlencode($getcwd) . "\" method=\"POST\" enctype=\"multipart/form-data\">\n";
if (!isset($_GET['uploadnum'])) {
echo "<div class=\"love\">\n";
echo "文件[+]<input type=\"file\" name=\"fupload[]\" />\n";
echo "</div>\n";
} else {
$i = 0;
$uploadnum = (int)trim($_GET['uploadnum']);
if ($uploadnum < 1) $uploadnum = 1;
while ($i < $uploadnum) {
echo "<div class=\"love\">\n";
echo "文件[" . ($i + 1) . "]<input type=\"file\" name=\"fupload[]\" />\n";
echo "</div>\n";
$i++;
}
}
echo "<div class=\"love\">\n";
echo "<input type=\"submit\" value=\"上传所有选择文件\" />(有效&ensp;文件)\n";
echo "</div>\n";
echo "</form>\n";
}
xhtml_footer();
?>