Files
tysweld.com/_restore.php
2025-02-24 22:33:42 +01:00

73 lines
2.2 KiB
PHP

<?php
// Folder, w którym znajdują się pliki ZIP
define('ZIP_DIRECTORY', __DIR__); // Możesz zmienić na dowolny katalog
// Upewnij się, że katalog istnieje
if (!is_dir(ZIP_DIRECTORY)) {
mkdir(ZIP_DIRECTORY, 0755, true);
}
// Funkcja do pobrania listy plików ZIP
function getZipFiles($directory) {
return glob($directory . '/*.zip');
}
// Obsługa rozpakowywania pliku
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['zip_file'])) {
$zipFile = $_POST['zip_file'];
$zipPath = ZIP_DIRECTORY . '/' . basename($zipFile);
if (file_exists($zipPath)) {
$zip = new ZipArchive;
if ($zip->open($zipPath) === TRUE) {
$extractPath = ZIP_DIRECTORY;
// Tworzenie katalogu docelowego, jeśli nie istnieje
if (!is_dir($extractPath)) {
mkdir($extractPath, 0755, true);
}
$zip->extractTo($extractPath);
$zip->close();
echo "<p>Plik <strong>$zipFile</strong> został pomyślnie rozpakowany do: <strong>$extractPath</strong></p>";
} else {
echo "<p>Nie udało się otworzyć pliku ZIP: <strong>$zipFile</strong></p>";
}
} else {
echo "<p>Plik ZIP nie istnieje: <strong>$zipFile</strong></p>";
}
}
// Pobranie listy plików ZIP
$zipFiles = getZipFiles(ZIP_DIRECTORY);
?>
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rozpakowywanie plików ZIP</title>
</head>
<body>
<h1>Lista plików ZIP na serwerze</h1>
<?php if (empty($zipFiles)): ?>
<p>Brak plików ZIP w katalogu: <strong><?php echo ZIP_DIRECTORY; ?></strong></p>
<?php else: ?>
<form method="post">
<label for="zip_file">Wybierz plik ZIP do rozpakowania:</label>
<select name="zip_file" id="zip_file" required>
<?php foreach ($zipFiles as $file): ?>
<option value="<?php echo basename($file); ?>">
<?php echo basename($file); ?>
</option>
<?php endforeach; ?>
</select>
<button type="submit">Rozpakuj</button>
</form>
<?php endif; ?>
</body>
</html>