witam, mam taki kod do kompresowania plików pod ZIP...
$zip = new ZipArchive;
$zip->open('update-'.$version.'.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($rootPath),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($files as $name => $file)
{
// Skip directories (they would be added automatically)
if (!$file->isDir())
{
// Get real and relative path for current file
$filePath = $file->getRealPath();
// Add current file to archive
if (strpos($relativePath, "nstall\\") or
strpos($relativePath, "ake-update.php") or
strpos($relativePath, "old\\") or
strpos($relativePath, "zepsuty") or
strpos($relativePath, "lobal\config.php") or
strpos($relativePath, "vs\\") or
strpos($relativePath, "git\\") or
strpos($relativePath, "idea\\") or
strpos($relativePath, "pload\\") or
strpos($relativePath, "cache\\") or
strpos($relativePath, 'ploads\\') or
strpos($relativePath, "emplates_c")) { echo "Ignoruje ".$relativePath."</br>"; } else {
echo "Dodano plik: ".$relativePath."</br>"; $zip->addFile($filePath, $filePath);
}
}
}
// Zip archive will be created only after closing object
$zip->close();
i kiedy wypakowuje to wszystkie pliki wyrzuca mi do folderu... nie tworzy mi subfolderów i nie wypakowuje plików z subfolderów do nich
Wytłumaczy mi ktoś dlaczego ten z**any PHP tak wypakowuje pliki ?
(IMG:
https://oxi-jon.pl/gowno.jpg)
(IMG:
https://oxi-jon.pl/gowno2.jpg)
Dziękuję za tak wyczerpujące odpowiedzi.... Jesteście fantastyczni,,,
Czy naprawdę PHP jest tak zje**ane że nie można kompresować plików za pomocą niego ? Może wprowadzą to w wersji 50.0.49 ?
a propos wypakowywania:
// Zip file name
$filename = 'update-0.0.1-alpha.zip';
$zip = new ZipArchive;
$res = $zip->open($filename);
if ($res === TRUE) {
// Unzip path
$path = _PATH."/";
// Extract file
$zip->extractTo($path);
$zip->close();
echo 'Aktualizacja zakończona pomyślnie!'; } else {
echo 'Błąd aktualizacji! Skontaktuj się z firmą <a href="mailto:kontakt@oxi-jon.pl">Bomb of Creative</a>!'; }
robię to w ten piękny sposób... nie wiem czy może można jeszcze inaczej coś tu napisać bo to jest tak ****cie obszerny kod że pisałem go przez 4 lata świetlne
Ten post edytował Johnas 20.08.2022, 21:42:45