Ciao a tutti...ho bisogno di confrontarmi con qualcuno per cercare di risolvere un problema. Ora cerco di spiegarvi quello che devo fare:
Devo consentire agli utenti che accedono al mio sito di poter scaricare una serie di file contemporaneamente. Per questo motivo girando su internet ho trovato il modo per zippare una serie di file e far scaricare il file zip. Nel seguente modo:
Codice PHP:
include("zip.lib.php"); 
$ziper = new zipfile(); 
$ziper->addFiles(array("cartella/file1.pdf""cartella/file2.pdf""cartella/file3.pdf""cartella/file4.pdf""cartella/file5.pdf")); 
$ziper->output("'file_zip.zip"); 
echo(
"[url='file_zip.zip']Download globale dei pdf[/url]");
exit; 
Il problema è che i files sono "temporanei", nel senso che si trovano fisicamente nel db (in campi BLOB) al momento della chiamata di funzione creo una cartella nel quale attraverso una procedura ORACLE faccio passare i files pdf che vuole l'utente dal db alla cartella appena creata. Dopo di che si crea lo zip, l'utente lo scarica e successivamente DEVE essere cancellata la cartella con tutto il suo contenuto (i files pdf, il file zip e la cartella).
Per creare la cartella utilizzo questa procedura:
Codice PHP:
$cartella='cartella';
$path="/".$cartella;
if(
mkdir($cartella,0777)==1){
    
$risultato="hai appena creato la categoria di nome :$cartella ";
}else{
    
$risultato="non hai creato niente, forse la cartella già esiste";

Per cancellare i files e la cartella utilizzo questa procedura:
Codice PHP:
unlink("cartella/file1.pdf");
unlink("cartella/file2.pdf");
unlink("cartella/file3.pdf");
unlink("cartella/file4.pdf");
unlink("cartella/file5.pdf");
unlink("file_zip.zip");
if(
rmdir($cartella)==1){
        echo(
"è stato cancellato tutto");
    }else{
        echo(
"non ho cancellato la cartella");
    } 
Avevo scritto la procedura per la creazione dello zip e per la cencellazione dei file nella stessa pagina php...però in questo modo la pagina mi consentiva di scaricare il file zip ma non provvedeva a cancellare tutti i file.
Come posso fare? Devo mettere un ulteriore link oppure far in modo che al click sul link "Download" si scateni l'evento della cancellazione?
Potete aiutarmi?
Grazieeeeeee