Autor Zpráva
matata8611
Profil
Ahoj, mohu poprosit o radu s tímto - mám tento kód:
<?php
//exit;
$files = array(
  $_SERVER['DOCUMENT_ROOT'].'/wp-content/uploads/2020/02/0eddc2b2c7b79e45f6736aef2ee5c310.jpg',
  $_SERVER['DOCUMENT_ROOT'].'/wp-content/uploads/2020/02/884d852e563697168f92e3b0223df524.jpg',
);
$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
  $zip->addFile($file);
}
$zip->close();

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
//header("Location: /download/".$zipname);
readfile($zipname);

Problém 1
Zip se stáhne má správnou velikost ale při otevreni hlasi chyu ze nejde otevrit.
Když místo toho použiju redirect na ten soubor, tak to funguje, soubor se stahne a jde v poradku otevrit. Proč nefunguje prosím ten readfile?

Problém 2
V zip archivu se vytvoří složky jako kompletní cesta k souboru /home/www/... atd...
Chtěl bych aby ty obrázky byly normálně v rootu toho zip archivu...


Děkuji moc.
Kcko
Profil
matata8611:
Doplň si jako 2 parametr, čili pouze jméno souboru bez cestyaddFile www.php.net/manual/en/ziparchive.addfile.php


a dále se inspiruj hotovými řešeními ( Download multiple files as a zip-file using php)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0