Ho provato a scaricare un file zip utilizzando il ricciolo da un host virtuale a un altro, in uno stesso server. Il file zip contiene i file * .php e * .jpg.Immagine danneggiata quando estratto dal file zip
Il problema è: a volte file JPG ottenere corrotti, in questo modo:
Ecco il mio codice:
$out = fopen(ABSPATH.'/templates/default.zip','w+');
$ch = curl_init();
curl_setopt($ch, CURLOPT_FILE, $out);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, 'http://share.example.com/templates/default.zip');
curl_exec($ch);
curl_close($ch);
$zip = new ZipArchive;
if ($zip->open(ABSPATH.'/templates/default.zip') === TRUE)
{
if($zip->extractTo(ABSPATH.'/templates'))
{
echo 'OK';
}
$zip->close();
}
//$zip->close();
Non capisco cosa succede al mio jpg . Ho anche provato a usare pclzip.lib.php, ma senza fortuna. Come risolvere questo problema?
Grazie in anticipo
Cercando di escludere l'ovvio - se si scarica e decomprimere il file normalmente (cioè manualmente, senza PHP) funziona? –
Sì, il suo lavoro. File caricato sul server usando la modalità binaria FTP (ho provato anche la modalità ascii), grazie. –
Non sono un esperto in questo settore, ma so che i file zip possono avere algoritmi diversi. Forse c'è un problema di compatibilità? –