Visualizzazione risultati 1 fino 14 di 14

Discussione: Script Php per download + file in sola pagina

  1. #1
    Guest

    Predefinito Script Php per download + file in sola pagina

    Allora ho fatto na ricerca sul forum ma era troppo complicato da cercare trovavo troppe cose,allora ho fatto questo topik.. spero possiate aiutarmi :)

    cercherei uno script php o qualsiasi altro tipo ke mi permetta di creare una pagina che fa partire il download di un file cliccato in un altra pag.. praticamente voglio fare che c'è la pagina dei download,io clicco sul nome di uno dei programmi e mi porta in una pagina tipo downloadfile.php .. in questa pagina parte il download.. fino a qui non ci vorrebbe niente.. ma io vorrei fare ke tutti i programmi sono linkati a questa downloadfile.php e ke in base al programma ke cliccano parte un download diverso.. spero ke qualcuno mi abbia capito.. grazie comunque ciauz

  2. #2
    Guest

    Predefinito

    tipo dowload.php?file=filedascricare ?

  3. #3
    Guest

    Predefinito

    si bravo proprio quello

  4. #4
    Guest

    Predefinito

    Lo scrivo così di getto perchè non ho apache e php installato su questo pc. Al limite se hai problemi domani lo provo sull'altro pc

    Devi solo cambiare la cartella nella variabile $path.
    Lo script funziona come detto in precedenza, cioè:

    download.php?file=nomefile.est

    non mettere caratteri strani

    Codice:
    <?php
    
    $_GET['file'] = trim(htmlentities($_GET['file'], ENT_QUOTES));
    
    $path = './cartella/' . $_GET['file'];
    
    $size = filesize($path);
    
    if ($size == FALSE) {
    die();
    }
    
    @header("Content-Type: application/octet-stream");
    @header("Content-Length: " . (string) ($path));
    
    fread($path, $size);
    
    ?>
    p.s. dovrebbe essere abbastanza sicuro così, se vuoi possiamo controllare meglio i nomi e le estensioni dei files

  5. #5
    Guest

    Predefinito

    non va.. ho creato una cartella chiamata files e ho modificato lo script mettendo apposto di "cartella" "files"
    dentro ho uppato 3 file.rar dopo ho creato la pagina download.php e ho messo il tuo codice. poi ho creato la pagina programmi.htm pero' quando clicco sul nome che porta a download.php firefox mi vuole fare scaricare quella pagina..
    Ultima modifica di jeyjack : 30-06-2005 alle ore 16.13.30

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    i collegamenti devi scriverli così: download.php?file=nomefile.est
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    ho aggiornato come dici tu ma xkè mi porta alla pagina download vuota?

    ps come codice della pagina download.php ho messo cosi:

    Codice PHP:
    <?php

    $_GET
    ['file'] = trim(htmlentities($_GET['file'], ENT_QUOTES));

    $path = './files/' . $_GET['file'];

    $size = filesize($path);

    if (
    $size == FALSE) {
    die();
    }

    @
    header("Content-Type: application/octet-stream");
    @
    header("Content-Length: " . (string) ($path));

    fread($path, $size);

    ?>
    va bene? ps: ho messo i file .rar nella cartella "files"
    Ultima modifica di jeyjack : 01-07-2005 alle ore 02.56.07

  8. #8
    Guest

    Predefinito

    Codice PHP:
    <?php

    $_GET
    ['file'] = trim(htmlentities($_GET['file'], ENT_QUOTES));

    $path = './files/' . $_GET['file'];

    $size = filesize($path);

    if (
    $size == FALSE) {
    die();
    }

    @
    header("Content-Type: application/octet-stream");
    @
    header("Content-Length: " . $size);

    echo
    fread($path, $size);

    ?>
    così dovrebbe andare, xò fai dei controlli sui file perchè qualcuno potrebbe anche scaricare i files php dal tuo spazio

  9. #9
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    Eccoti il codice, incluso il controllo

    Codice PHP:
    <?

    $_GET
    ['file'] = trim(htmlentities($_GET['file'], ENT_QUOTES));

    $path = './files/' . $_GET['file'];

    $size = filesize($path);

    if (
    $size == FALSE)
    {
    die();
    }

    $file = $_GET['file'];

    $check = substr($file, strlen($file) - 3, strlen($file));

    if(
    $check != "rar" AND $check != "zip")
    {
    die(
    'Stai tentando di scaricare un file non scaricabile');
    }
    else
    {
    @
    header("Content-Type: application/octet-stream");
    @
    header("Content-Length: " . $size);

    echo
    fread($path, $size);
    }

    ?>
    Ultima modifica di mythologia : 01-07-2005 alle ore 10.36.17

  10. #10
    Guest

    Predefinito

    raga come mai? ho messo il vostro codice in download.php ma quando vado da programmi.htm e clicco su un file mi porta a http://jeyjack.altervista.org/download.php?file=06.rar ma non parte niente.. a voi parte il download o e' proprio che c'e' qualcosa ke non va? :(

  11. #11
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    Prova così

    Codice PHP:
    <?

    $_GET
    ['file'] = trim(htmlentities($_GET['file'], ENT_QUOTES));

    $path = './files/' . $_GET['file'];

    $size = filesize($path);

    if (
    $size == FALSE)
    {
    die();
    }

    $file = $_GET['file'];

    $check = substr($file, strlen($file) - 3, strlen($file));

    if(
    $check != "rar" AND $check != "zip")
    {
    die(
    'Stai tentando di scaricare un file non scaricabile');
    }
    else
    {
    header("Content-Type: application/pdf");
    header("Content-disposition: attachment; filename=" . $path);

    echo
    fread($path, $size);
    }

    ?>

  12. #12
    Guest

    Predefinito

    ancora nada.. a quanto vedo questo script non vuole andare :P sapete qualche altro script per download? l'importante e' che gli utenti non vedano l'indirizzo da dove viene il download

  13. #13
    Guest

    Predefinito

    ossignur lo debuggo al volo
    i problemi sono:
    1) il sottoscritto ha usato fread invece di readfile (nessuno si è accorto che mancava fopen() e fclose() ?)
    2) Mytho ha fatto qualche casino col check e con gli headers
    Questo è funzionante, garantito!:
    Codice PHP:
    <?php

    $_GET
    ['file'] = trim(htmlentities($_GET['file'], ENT_QUOTES));

    $path = './files/' . $_GET['file'];

    $size = filesize($path);

    if (!
    $size)
    {
    die();
    }

    $check = substr($_GET['file'], - 3);

    if(
    $check != "rar" AND $check != "zip")
    {
    die(
    'Stai tentando di scaricare un file non scaricabile');
    }
    else
    {
    @
    header("Content-Type: application/octet-stream");
    @
    header('Content-Disposition: attachment; filename=' . $_GET['file'] . ';');
    @
    header("Content-Length: " . $size);

    readfile($path);
    }

    ?>

  14. #14
    Guest

    Predefinito

    wow grazie mille inverno,funziona :) siete stati tutti molto gentili..
    hihih non per scocciarvi troppo ma non voglio aprire altri post,
    e se invece vorrei pescare i file da un link esterno sempre utilizzando la pagina download.php come tramite?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •