Problema upload application/x-zip-compressed diventa erroneamente application/octet-stream

bandolerostanco67

Nuovo Utente
11 Feb 2013
1
0
0
Buongiorno,
sono Paolo sto lavorando con php e sono alle prese con questo arduo problema:
Problema upload application/x-zip-compressed diventa erroneamente application/octet-stream

PHP Version 5.2.17
System Windows NT UTENTE-PC 6.1 build 7600 (windows7)
Server API Apache 2.0 Handler

creo sul server un file ServerProva.zip
Faccio uno showdialogue per salvare tale file sul client ClientProva.zip (content type application/x-zip-compressed)
il file salvato non è uguale al precedente, ma leggermente più grande.
le proprietà del file mi indicano che è un sfx zip archive
il file funziona posso estrarlo.

Vado a ricaricare ClientProva.zip da php mi da come content type application/octet-stream
lo legge correttamente scorre correttamente tutte le entry esegue extractTo, ma non estrae niente.
Se provo con il file originale ServerProva.zip mi da come content type application/x-zip-compressed
ed estrae tutto correttamente.

Ho verificato che ClientProva.zip sembra una file autoscompattante, ma in realtà non lo è
se eseguo su questo file un repair generando un nuovo file ClientRiparato.zip funziona tutto.

questo è il codice con cui salvo il file
$mime = "application/x-zip-compressed";
header("Content-Disposition: attachment; filename=" . basename($file));
header("Content-Type:".$mime);
header("Content-Length: " . filesize($file));
header("Pragma: no-cache");
header("Expires: 0");
header("Cache-Control: must-revalidate");
readfile($file);
exit;


questo il codice con cui lo estraggo
$nome_file = 'ClientProva.zip';
$zip = new ZipArchive;
if ($zip->open($nome_file) === true) {
for($i = 0; $i < $zip->numFiles; $i++) {
$filename = $zip->getNameIndex($i);
echo '<br>'.$filename;
$zip->extractTo('cartella/', array($zip->getNameIndex($i)));
}
$zip->close();
}


Potete aiutarmi?
grazie saluti Paolo
 

Discussioni simili