Adatta un pelo con le tue necessità...codice:function zip_files( $file_name = "test.zip", $files = array() ) { $zip = new ZipArchive(); if (file_exists( $file_name )) { unlink( $file_name ); } if ($zip->open( $file_name, ZipArchive::CREATE ) !== TRUE) { $zip->close(); return false; } if (is_array( $files )) { foreach ( $files as $file_name_orig => $file ) { if (! is_numeric( $file_name_orig )) { $zip->addFile( $file, $file_name_orig ); } else { $file_info = get_file_info( $file ); $zip->addFile( $file, $file_info [ "name" ] ); } } } else { $zip->addFile( $files ); } $zip->close(); } $file_comprimere = array ( "file_1.pdf" => "/percorso/percorso2/file.pdf", "file_2.doc" => "/percorso/percorso2/file.doc" ); zip_files( "download.zip", $file_comprimere );
Nel file zip avrai un file chiamato "file_1.pdf" che sarà il file "/percorso/percorso2/file.pdf" zippato ecc ecc. Se come chiave dell'array usi "/cartella4/file_1.pippo", nello zip avrai un file "/cartella4/file_1.pippo" che sarà il file "/percorso/percorso2/file.pdf", e anche se cartella4 non esiste (sul server) a te non importa....quando lo scompatti il software sul pc creerà eventualmente la cartella4