Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Download che non vā

  1. #1

    Download che non vā

    ciao raga,

    Ho un piccolo problema con l'upload, in pratica ho creato un form
    che permette ci caricare sul server file "zip, rar,...", perō accade una cosa stranissima,
    cioč i file vengono caricati correttamente sul server, ma quando li vado a richiamare
    per il "downoload" da un'altra pagina e li scarico sul mio pc, e successivamente apro
    il file "zip" mi da un messeggio: "la cartella compressa č danneggiata...".
    A questo punto ho pensato che forse non era il modo esatto di caricare questi tipi di file "zip"
    cosė ho aperto manualmente un file "zip" posto nella directory del mio server, e tutto sembri
    che funzioni correttamente...
    Allora ho pensato che č una questione di permessi in lettura del file...ho provato a gicare con
    i vari permessi "777,770,...." ma sembra che lo stesso non vada.
    Per caso conoscete il motivo di questo problema?
    Se si potete cortesemente aiutarmi?

    Grazie mille.

  2. #2
    Ciao!

    Ma il download lo fai tramite link oppure hai creato uno script dedicato?
    Io ho avuto un problema simile al tuo che ho risolto con uno script che si occupa del download.
    Il codice che ho usato io č questo:

    codice:
    $nome_file = "nome_del_file";
       $absolute_path = "percorso al file";
    
       $file_path = $absolute_path . '/' . $nome_file;
       if (@file_exists($file_path)) 
        {
         $size = filesize($file_path);
         $now = gmdate('D, d M Y H:i:s') . ' GMT';
         header("Content-type: application/octet-stream");
         header("Content-length: " . $size);
         //header('Content-Type: ' . $mime_type);
         header('Expires: ' . $now);
         header('Content-Disposition: attachment; filename="' . $nome_file . '"');
         header('Pragma: no-cache');
         header("Content-Transfer-Encoding: binary");
         @readfile($file_path) or die();
         exit();
        }

    CIAU CIAU
    Se la vita ti sorride, ti sta prendendo per il cul0

  3. #3
    ADesso provo e ti faccio sapere.
    Grazie

  4. #4
    Ho dimenticato di dirti una cosa!

    in questa riga:

    codice:
    header("Content-type: application/octet-stream");
    al posto di "application/octet-stream" ci devi mettere il mime type relativo al tipo di file di cui vuoi fare il download.
    In teoria la riga:

    codice:
    //header('Content-Type: ' . $mime_type);
    avrebbe dovuto farlo in automatico, ma l'ho commentata perchč nno funzionava bene.

    Una lista di MIME TYPE la puoi trovare al seguente indirizzo:

    http://www.asahi-net.or.jp/en/guide/cgi/mimetype.html

    CIAU CIAU
    Se la vita ti sorride, ti sta prendendo per il cul0

  5. #5
    Ho fatto cosė:

    download.php
    Codice PHP:
    <?
    $nome_file 
    "file.zip";
       
    $absolute_path "download_file/";

       
    $file_path $absolute_path '/' $nome_file;
       if (@
    file_exists($file_path)) 
        {
         
    $size filesize($file_path);
         
    $now gmdate('D, d M Y H:i:s') . ' GMT';
         
    header("Content-type: application/zip");
         
    header("Content-length: " $size);
         
    //header('Content-Type: ' . $mime_type);
         
    header('Expires: ' $now);
         
    header('Content-Disposition: attachment; filename="' $nome_file '"');
         
    header('Pragma: no-cache');
         
    header("Content-Transfer-Encoding: binary");
         @
    readfile($file_path) or die();
         exit();
        }
    ?>
    Quando provo a scaricare mi esce il messaggio: "impossibile scaricare la pagina download.php da localhost, riprovare..."
    Adesso mi chiedo ma quando mai ho chiesto a questo script
    di scaricare la pagina "download.php"?
    Cosa ho sbagliato?
    Ciao e grazie

  6. #6
    Ciao!

    Sinceramente non so cosa dirti.
    Ho provato lo script sul mio PC e funziona perfettamente.
    La pagina download.php la richiami da un'altra pagina o la apri direttamente dal browser?

    CIAU CIAU

    P.S. leva la barra finale in $absolute_path.
    Se la vita ti sorride, ti sta prendendo per il cul0

  7. #7
    Si, "download.php" la richiamo direttamente dal browser.
    Si ho tolto anche la "/" finale a "$absolute_path" ma lo stesso non
    vā...
    Ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.