Class ziparchive e strana estensione del file

davidl77

Nuovo Utente
14 Dic 2009
1
0
0
Ciao a tutti ragazzi.

Ho un problema che mi sta facnedo impazzire.

Sto usando la classe ziparchive in modo molto semplice:
PHP:
$zip = new ZipArchive();
$file= $filename.'.zip';

if ($zip->open($file, ZIPARCHIVE::CREATE)===TRUE) {
    $zip->addFile($filename, $filename); //inserisce il file ciao.txt dentro l'archivio e lo chiama ciao.txt (il secodo parametro indica il nome nell'archvio)
    $zip->close();
}else echo "Errore nella creazione del'archivio";
$filename è il file da comprimere (es.: db-backup-1282308611-3389dae361af79b04c9c8e7057f60cc6.sql)

Lanciato il tutto non ho errori, ma mi crea 2 file compressi che si chiamano:

db-backup-1282308652-3389dae361af79b04c9c8e7057f60cc6.sql.zip.a04688
db-backup-1282308652-3389dae361af79b04c9c8e7057f60cc6.sql.zip.b04688

Ovviamente rinominando i file verifico che tutto è corretto, ma.. perché quelle strane estensioni? Ho provato a riavviare apache e la estensione cambia, ovvero sembra legata 8ma non è la stessa, ho verificato) al PID di Apache.
C'entra qualcosa?

Sapete aiutarmi in qualche modo?

Grazie mille a tutti
 
Non saprei risponderti, ma facendo delle prove ho visto che durante la creazione dello zip a questo viene aggiunta un'estensione di questo tipo. Ma quando ha terminato la compressione questa estensione temporanea viene rimossa.

In oltre, lanciando lo script per comprimere un file te ne vengono creati due?

Hai provato anche con file di dimensione inferiore (immagino che il dump di un db sia abbastanza pesante)?
 
Comunque se il problema riguarda solamente l'estensione puoi sempre rinominare il file. Fai una cosa di questo tipo dopo la compressione:
PHP:
$files = glob("{$file}.zip.*");
rename($files[0], "{$file}.zip");
E vedi se funziona.
 

Discussioni simili