Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Multidownload

  1. #1

    Multidownload

    Ciao,
    ho la necessità di scaricare n files da form.
    Per fare ciò ho provato a fare una funzione del genere:

    codice:
    function carica_download(){
       window.location = 'inizio_download.php?id=111143';
       window.location = 'inizio_download.php?id=111144';
       window.location = 'inizio_download.php?id=111145';
    }
    Il file inizio_download.php è quello che effettivamente lancia il download del file preso dal DB. Il problema non è però lato server.

    La funzione la richiamo con l'evento onload nel body e mi apre solo l'ultima location (ignora le prime due).

    C'è un modo per farle aprire tutte e tre?

    Tks

  2. #2
    Ciao...

    ti rispondi d'istinto eh... senza pensarci troppo...

    secondo me ne apre uno solo perche dopo appunto aver eseguito il comando che indirizza il navigatore in una pagina di download non ha piu nel codice gli altri riferimenti.

    faglieli aprire in una nuova finestra cosi:

    function down(){
    window.open("http://www.blabla.com/down.php?ID=1","","");
    window.open("http://www.blabla.com/down.php?ID=2","","");
    window.open("http://www.blabla.com/down.php?ID=3","","");
    }

    secondo me cosi va.

    oppure passa tutti gli id dei download alla pagina php e poi li gestisci li con i php.

    Ciao, spero di esserti stato utile.

  3. #3
    window.open è stata la mia prima idea, il problema è che apre delle finestre del browser che poi a loro volta aprono la finestra apri/salva del download. Io volevo evitare appunto questa doppia apertura delle finestre (che fa corrente ) che poi comunque è necessario chiudere a mano, cosa un po' antipatica per l'utilizzatore dell'applicazione.


  4. #4
    Ciao

    qualche cosa ho scritto....

    cosa strana però, funziona con firefox perfettamente ma da problemi con explorer...

    intanto è un punto di partenza, magari riflettici pure te.
    Ho trovato un po di codice in giro ed un po l'ho scritto.

    ###############################
    pagina down.htm :
    ----------------------------------------
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <script language="javascript">
    function down(){
    window.location = "down.php?ID[0]=pippo.txt&ID[1]=pluto.txt&ID[2]=minnie.txt&ID[3]=topolino.txt";
    }
    </script>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body onLoad="term();">
    download file
    </body>
    </html>
    ###############################

    pagina down.php :
    ----------------------------------------
    <?php
    if(is_array($_GET['ID'])){
    while(@list($k, $v)=@each($_GET['ID'])){
    $file = "download/".$v;
    if (!is_file($file)) { die("404 File not found!"); }
    $file_extension = strtolower(substr(strrchr($filename,"."),1));
    switch( $file_extension ) {
    case "pdf": $ctype="application/pdf"; break;
    case "exe": $ctype="application/octet-stream"; break;
    case "zip": $ctype="application/zip"; break;
    case "doc": $ctype="application/msword"; break;
    case "xls": $ctype="application/vnd.ms-excel"; break;
    case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
    case "gif": $ctype="image/gif"; break;
    case "png": $ctype="image/png"; break;
    case "jpeg":
    case "jpg": $ctype="image/jpg"; break;
    case "mp3": $ctype="audio/mpeg"; break;
    case "wav": $ctype="audio/x-wav"; break;
    case "mpeg":
    case "mpg":
    case "mpe": $ctype="video/mpeg"; break;
    case "mov": $ctype="video/quicktime"; break;
    case "avi": $ctype="video/x-msvideo"; break;
    case "php":
    case "htm":
    case "html":
    case "txt": die("Cannot be used for ". $file_extension ." files!"); break;
    default: $ctype="application/force-download";
    echo '<iframe src="d.php?ctype='.$ctype.'&file='.$file.'" id="'.$k.'" width="0" height="0" frameborder="0"></iframe>';
    }
    }
    echo 'download in corso.';
    }else{
    echo 'nessun download selezionato';
    }
    ?>
    ###############################

    pagina d.php :
    ----------------------------------------
    <?php
    header("Content-Description: File Transfer");
    header("Content-Type: application/force-download");
    header("Content-Type: $ctype", FALSE);
    header("Content-Type: application/download", FALSE);
    header("Content-Disposition: attachment; filename=".basename($file));
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($file));
    readfile("$file");
    ?>

    ###############################


    prova un po.... e vedi se ci tiri fuori qualche cosa...

    questo credo sia l'unico modo per non far aprire assolutissimamente altre finestre...

    sennò si puo provare ad aprirle e richiuderle al termine del download...

    Insomma....

    poi si vede.

    Ciaooo, ami sapere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.