Salve ragazzi,
ho questo script per decomprimere un file zip caricato da un form:

Codice PHP:
$filename $_FILES['File']['name'];  
$source $_FILES['File']['tmp_name'];  
$type $_FILES['File']['type'];
                
$file_zip=zip_open($source);
                
$nome_file explode('.'$filename);
$target $nome_file[0] . '-' time() . '/';
                
chdir('archivio');
                
mkdir($target); 
                
chdir($target);
                
while (
$file zip_read($file_zip)) {
    
zip_entry_open($file_zip$file"r");
    
$fil_e=zip_entry_read($filezip_entry_filesize($file));
    
$handler=fopen(zip_entry_name($file), 'wb');
                    
    if(!
is_dir(zip_entry_name($file))){
        
mkdir(zip_entry_name($file));
    }
                        
    
fwrite($handler$fil_e);
    
fclose($handler);
    
zip_entry_close($file);
}
zip_close($file_zip); 
chdir('../../'); 
Pur non essendo ancora ottimizzato fa il suo dovere, il problema è se all'interno dell'archivio vi è una directory e non un file. In poche parole crea un file senza estensione e basta.

Sapete come posso raggirare questo problema? Ho fatto qualche prova con la funzione id_dir() ma non ne sono uscito fuori.

Grazie