Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Script Download file

  1. #1

    Script Download file

    Salve a tutti navigando per il forum e per alcuni siti ho trovato il seguente script per dare la possibilità di mettere file presenti su un webserver in download verso un client:

    Ecco il form:
    Codice PHP:
    <HTML>
    <BODY>
    <TABLE BORDER=8 WIDTH=40% ALIGN=CENTER BORDER=3>
    <TR><TH>Fai clic sui link per scaricare i file</TH></TR>
    <?
    # elenco dei contenuti di una cartella con link
    $cartella opendir('docs');
    while (
    $file readdir($cartella)) {
    $array_file[] = $file;
    }
    foreach (
    $array_file as $file) {
    echo 
    "<TR><TD><CENTER>";
    if ( 
    $file == ".." || $file == ".") {
    continue;
    }
    $dimensioni_file=filesize("docs/".$file);
    echo 
    "<a href=\"

    downloadit.php?nome_file=
    $file&dimensioni_file=$dimensioni_file

    \">
    $file</a>,
    "
    ;
    echo 
    "</TR></TD></CENTER>";
    }
    ?>
    </TABLE>
    </BODY>
    </HTML>
    Ora questo form richiama lo script downloadit.php e gli passa i parametri del file:

    Codice PHP:
    <?php
    header
    ("Content-type: Application/octet-stream");
    header("Content-Disposition: attachment; filename=$nome_file");
    header("Content-Description: Download PHP");
    header("Content-Length: $dimensioni_file");
    readfile($nome_file);
    ?>
    Lasciando perdere che in locale non funziona, ovvero mi parte il download dello script downloadit, vorrei sapere perchè anche provando su un reale webserver, il download funziona, ma quando vado ad aprire i file sono vuoti ed hanno dimensione 0! Non so se può esservi utile ma io lo uso per scaricare immagini jpg...forse devo cambiare il Content-type?

    Grazie, attendo risposta

  2. #2
    direi che pima di tutto dovresti leggerti qualcosa sulla sicurezza ... il tuo metodo, una volta risolto, permette a chiunque di prendere qualunque file dal tuo server ... auguri

    P.S. stai usando PHP 3 o < 4.1.2 ... siamo alla 5 ed il 4 sta facendo il canto del cigno, aggiornati sulle super globali altrimenti non potrai usare PHP a breve ($_GET['dimensionifile'] invece di $dimensionifile ... ad esempio)
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Bene puoi consigliarmi qualcosa o dici che ormai è tutto inutile ed è meglio farla finita? :ignore:

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.