2023-03-08 18:42:50 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
2024-01-19 14:21:12 +00:00
|
|
|
* 删除/回收文件页面
|
|
|
|
* @author Icret
|
|
|
|
* 2023-3-15 11:01:52
|
2023-03-08 18:42:50 +00:00
|
|
|
*/
|
2024-01-19 14:21:12 +00:00
|
|
|
|
|
|
|
require __DIR__ . '/function.php';
|
2023-03-08 18:42:50 +00:00
|
|
|
|
|
|
|
if (empty($_REQUEST)) {
|
2024-01-19 14:21:12 +00:00
|
|
|
exit(json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '无效请求',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'get',
|
|
|
|
'url' => null
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 解密删除
|
|
|
|
if (isset($_GET['hash'])) {
|
|
|
|
$delHash = $_GET['hash'];
|
|
|
|
$delHash = urlHash($delHash, 1);
|
|
|
|
|
|
|
|
if ($config['image_recycl']) {
|
|
|
|
// 如果开启回收站则进入回收站
|
2024-01-19 14:21:12 +00:00
|
|
|
if (checkImg($delHash, 3, 'recycle/') === true) {
|
|
|
|
|
|
|
|
any_upload($delHash, $delHash, 'delete'); // FTP删除
|
|
|
|
|
|
|
|
exit(json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '删除成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $delHash
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
2023-03-08 18:42:50 +00:00
|
|
|
} else {
|
2024-01-19 14:21:12 +00:00
|
|
|
exit(json_encode(array(
|
2024-03-03 23:23:11 +00:00
|
|
|
'code' => 404,
|
2024-01-19 14:21:12 +00:00
|
|
|
'msg' => '文件不存在',
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $delHash
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
|
|
|
} else {
|
2024-01-19 14:21:12 +00:00
|
|
|
getDel($delHash, 'url'); // 直接删除
|
|
|
|
|
|
|
|
any_upload($delHash, $delHash, 'delete'); // FTP删除
|
|
|
|
|
|
|
|
exit(json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '删除成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $delHash
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
2024-01-19 14:21:12 +00:00
|
|
|
exit(json_encode(array(
|
2024-03-03 23:23:11 +00:00
|
|
|
'code' => 404,
|
2024-01-19 14:21:12 +00:00
|
|
|
'msg' => '删除失败',
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $delHash
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
|
|
|
|
2024-01-19 14:21:12 +00:00
|
|
|
// 非管理员不可访问
|
|
|
|
if (!is_who_login('admin')) exit('Permission denied');
|
2023-03-08 18:42:50 +00:00
|
|
|
|
2024-01-19 14:21:12 +00:00
|
|
|
// 广场 - 批量删除文件
|
|
|
|
if (isset($_POST['del_url_array'])) {
|
|
|
|
$del_url_array = $_POST['del_url_array'];
|
|
|
|
$del_num = count($del_url_array);
|
|
|
|
for ($i = 0; $i < $del_num; $i++) {
|
|
|
|
getDel($del_url_array[$i], 'url');
|
|
|
|
// FTP删除
|
|
|
|
any_upload($del_url_array[$i], $del_url_array[$i], 'delete');
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
2024-06-14 09:08:13 +00:00
|
|
|
echo json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '删除成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $del_url_array
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
2024-01-19 14:21:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// 广场 - 批量回收文件
|
|
|
|
if (isset($_POST['recycle_url_array'])) {
|
|
|
|
$recycle_url_array = $_POST['recycle_url_array'];
|
|
|
|
$del_num = count($recycle_url_array);
|
|
|
|
for ($i = 0; $i < $del_num; $i++) {
|
|
|
|
checkImg($recycle_url_array[$i], 3);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isset($_POST['url'])) $postURL = strip_tags($_POST['url']);
|
|
|
|
|
|
|
|
// 广场|日志 - 单文件删除
|
|
|
|
if (isset($_POST['mode']) && $_POST['mode'] === 'delete') {
|
|
|
|
$reslut = easyimage_delete($postURL, 'url');
|
|
|
|
// FTP删除
|
|
|
|
any_upload($postURL, $postURL, 'delete');
|
|
|
|
|
|
|
|
if ($reslut) {
|
|
|
|
exit(json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '删除成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
|
|
|
} else {
|
|
|
|
exit(json_encode(array(
|
2024-03-03 23:23:11 +00:00
|
|
|
'code' => 404,
|
2024-01-19 14:21:12 +00:00
|
|
|
'msg' => '删除失败',
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 广场|日志 - 回收文件
|
|
|
|
if (isset($_POST['mode']) && $_POST['mode'] === 'recycle') {
|
|
|
|
if (is_file(APP_ROOT . $postURL)) {
|
|
|
|
checkImg($postURL, 3);
|
|
|
|
exit(json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '回收成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'recycle',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
|
|
|
} else {
|
|
|
|
exit(json_encode(array(
|
2024-03-03 23:23:11 +00:00
|
|
|
'code' => 404,
|
2024-01-19 14:21:12 +00:00
|
|
|
'msg' => '回收失败',
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 管理页面 - 删除版本信息文件
|
|
|
|
if (isset($_POST['mode']) && $_POST['mode'] === 'del_version_file') {
|
|
|
|
try {
|
|
|
|
@unlink(APP_ROOT . $postURL);
|
|
|
|
$re = json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '删除成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
|
|
|
throw new Exception('更新版本号失败');
|
|
|
|
} catch (Exception $e) {
|
|
|
|
$re = json_encode(array(
|
|
|
|
'code' => 404,
|
|
|
|
'msg' => $e->getMessage(),
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
|
|
|
} finally {
|
|
|
|
exit($re);
|
|
|
|
}
|
|
|
|
}
|
2023-03-08 18:42:50 +00:00
|
|
|
|
2024-01-19 14:21:12 +00:00
|
|
|
// 管理页面 - 回收站恢复文件
|
|
|
|
if (isset($_POST['mode']) && $_POST['mode'] === 'recycle_reimg') {
|
|
|
|
try {
|
|
|
|
if (re_checkImg($postURL, 'recycle/') === true) {
|
|
|
|
$re = json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '恢复成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
|
|
|
} else {
|
|
|
|
throw new Exception('恢复失败');
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
2024-01-19 14:21:12 +00:00
|
|
|
} catch (Exception $e) {
|
|
|
|
$re = json_encode(array(
|
|
|
|
'code' => 404,
|
|
|
|
'msg' => $e->getMessage(),
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
|
|
|
} finally {
|
|
|
|
exit($re);
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
2024-01-19 14:21:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// 管理页面 - 监黄恢复文件
|
|
|
|
if (isset($_POST['mode']) && $_POST['mode'] === 'suspic_reimg') {
|
|
|
|
try {
|
|
|
|
if (re_checkImg($postURL, 'suspic/') === true) {
|
|
|
|
$re = json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '恢复成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
2023-03-08 18:42:50 +00:00
|
|
|
} else {
|
2024-01-19 14:21:12 +00:00
|
|
|
throw new Exception('恢复失败');
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
2024-01-19 14:21:12 +00:00
|
|
|
} catch (Exception $e) {
|
|
|
|
$re = json_encode(array(
|
|
|
|
'code' => 404,
|
|
|
|
'msg' => $e->getMessage(),
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
|
|
|
} finally {
|
|
|
|
exit($re);
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
2024-01-19 14:21:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// 管理页面 - 删除非空目录
|
|
|
|
if (isset($_POST['mode']) && $_POST['mode'] === 'delDir') {
|
|
|
|
try {
|
|
|
|
$delDir = APP_ROOT . $config['path'] . $postURL; // 限制删除目录
|
|
|
|
if (deldir($delDir)) {
|
|
|
|
$re = json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '删除文件夹成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
|
|
|
} else {
|
|
|
|
throw new Exception('删除文件夹失败');
|
|
|
|
}
|
|
|
|
} catch (Exception $e) {
|
|
|
|
$re = json_encode(array(
|
|
|
|
'code' => 404,
|
|
|
|
'msg' => $e->getMessage(),
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $postURL
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
|
|
|
} finally {
|
|
|
|
exit($re);
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
|
|
|
}
|
2024-01-19 14:21:12 +00:00
|
|
|
|
|
|
|
// 管理页面 - 删除指定日期文件夹
|
|
|
|
if (isset($_POST['dateDir'])) {
|
|
|
|
$delDir = APP_ROOT . $config['path'] . $_POST['dateDir'];
|
|
|
|
if (deldir($delDir)) {
|
|
|
|
echo json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '删除成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'delDir',
|
|
|
|
'url' => $delDir
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
|
|
|
exit;
|
2023-03-08 18:42:50 +00:00
|
|
|
} else {
|
2024-01-19 14:21:12 +00:00
|
|
|
exit(json_encode(array(
|
|
|
|
'code' => 404,
|
|
|
|
'msg' => '删除失败',
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delDir',
|
|
|
|
'url' => $delDir
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 管理页面 - 删除指定文件
|
|
|
|
if (isset($_POST['url_admin_inc'])) {
|
|
|
|
|
|
|
|
$del_url = $_POST['url_admin_inc'];
|
|
|
|
if ($config['hide_path']) {
|
|
|
|
$del_url = $config['domain'] . $config['path'] . parse_url($del_url)['path'];
|
|
|
|
}
|
|
|
|
|
|
|
|
if (easyimage_delete($del_url, 'url') === TRUE) {
|
|
|
|
exit(json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '删除成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $del_url
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
|
|
|
|
2024-01-19 14:21:12 +00:00
|
|
|
exit(json_encode(array(
|
|
|
|
'code' => 404,
|
|
|
|
'msg' => '删除失败',
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
'url' => $del_url
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
|
|
|
}
|
|
|
|
|
|
|
|
// 管理页面 - 重置OPcache缓存
|
|
|
|
if (isset($_POST['mode']) && $_POST['mode'] === 'OPcache') {
|
|
|
|
|
|
|
|
if (!function_exists('opcache_reset')) {
|
|
|
|
exit(json_encode(array(
|
|
|
|
'code' => 404,
|
|
|
|
'msg' => '未开启OPcache',
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
), JSON_UNESCAPED_UNICODE));
|
2023-03-08 18:42:50 +00:00
|
|
|
}
|
2024-01-19 14:21:12 +00:00
|
|
|
|
|
|
|
try {
|
|
|
|
if (opcache_reset() === true) {
|
|
|
|
$re = json_encode(array(
|
|
|
|
'code' => 200,
|
|
|
|
'msg' => '重置缓存成功',
|
|
|
|
'type' => 'success',
|
|
|
|
'icon' => 'ok-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
|
|
|
} else {
|
|
|
|
throw new Exception('重置缓存失败');
|
|
|
|
}
|
|
|
|
} catch (Exception $e) {
|
|
|
|
$re = json_encode(array(
|
|
|
|
'code' => 404,
|
|
|
|
'msg' => $e->getMessage(),
|
|
|
|
'type' => 'danger',
|
|
|
|
'icon' => 'exclamation-sign',
|
|
|
|
'mode' => 'delete',
|
|
|
|
), JSON_UNESCAPED_UNICODE);
|
|
|
|
} finally {
|
|
|
|
exit($re);
|
|
|
|
}
|
|
|
|
}
|