Visualizzazione risultati 1 fino 19 di 19

Discussione: Upload e download di un file

  1. #1
    Guest

    Predefinito Upload e download di un file

    salve a tutti,ho un uploader di file..funziona tutto alla perfezione,però non riesco a far in modo che quando un'utente carica un file,gli venga dato il link per scaricarlo,un pò come i siti di filesharing! è possibile?(ovviamente si,dato che i siti di file sharing usano questo metodo)come si fa? grazie!

    codice html:
    Codice HTML:
    <form method="post" action="upload.php" enctype="multipart/form-data">
    Scegli il file: <input type="file" name="file"> <input type="submit" value="Invia" name="go">
    </form>
    codice php:
    Codice PHP:
    <form method="post" action="upload.php" enctype="multipart/form-data">
    Scegli il file: <input type="file" name="file"> <input type="submit" value="Invia" name="go">
    </form>

    <?php

    if (@$_FILES['file'] != "") {
    $cartella = "uploads/"; //cartella dove vengono caricati i file
    $destinazione = $cartella . basename($_FILES['file']['name']);

    if (@
    move_uploaded_file($_FILES['file']['tmp_name'], $destinazione))
    echo
    "File caricato con successo!";
    else
    echo
    "Errore nell'upload del file";

    }
    elseif (isset(
    $_POST['go']))
    echo
    "Nessun file selezionato!";

    ?>
    spero sappiate aiutarmi!
    Ultima modifica di dreadnaut : 11-05-2012 alle ore 14.04.28 Motivo: + tag [html] e [php] per il codice + indentazione

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,175

    Predefinito

    Sai come funziona lo script? È sufficiente soltanto stampare una variabile...
    (sposto in php)

    Ciao!
    Ultima modifica di alemoppo : 11-05-2012 alle ore 14.28.30

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Sai come funziona lo script? È sufficiente soltanto stampare una variabile...
    (sposto in php)

    Ciao!
    ehm,guarda io di php nn so una cippa cippa,se mi puoi dare una mano te ne sarei grato!

  4. #4
    Guest

    Predefinito

    Il modo in cui gestisci l'upload apparentemente "funzionante" è alquanto approssimativo...

    cmq sia...

    Codice PHP:
    <?php

    if (@$_FILES['file'] != "") {
    $cartella = "uploads/"; //cartella dove vengono caricati i file
    $destinazione = $cartella . basename($_FILES['file']['name']);
    $link = $_SERVER['SCRIPT_URI'] . $destinazione;

    if (@
    move_uploaded_file($_FILES['file']['tmp_name'], $destinazione))
    echo
    "File caricato con successo! <br /><a href=\"" .$link. "\">link</a>";
    else
    echo
    "Errore nell'upload del file";

    }
    elseif (isset(
    $_POST['go']))
    echo
    "Nessun file selezionato!";

    ?>

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da limatolawififree Visualizza messaggio
    Il modo in cui gestisci l'upload apparentemente "funzionante" è alquanto approssimativo...

    cmq sia...

    Codice PHP:
    <?php

    if (@$_FILES['file'] != "") {
    $cartella = "uploads/"; //cartella dove vengono caricati i file
    $destinazione = $cartella . basename($_FILES['file']['name']);
    $link = $_SERVER['SCRIPT_URI'] . $destinazione;

    if (@
    move_uploaded_file($_FILES['file']['tmp_name'], $destinazione))
    echo
    "File caricato con successo! <br /><a href=\"" .$link. "\">link</a>";
    else
    echo
    "Errore nell'upload del file";

    }
    elseif (isset(
    $_POST['go']))
    echo
    "Nessun file selezionato!";

    ?>
    lol,nn funziona! mi da: file caricato con successo,link ma se ci clicco mi da la pagina mancante
    Ultima modifica di gameofpc : 13-05-2012 alle ore 11.35.32

  6. #6
    Guest

    Predefinito

    Se non hai ancora risolto il tuo problema ti propongo questa soluzione "terra terra".Ovviamente per il tuo sito ci sono varie cose da sistemare ma per darti una dritta va più che bene.
    Codice PHP:
    <?php
    include("zip.php"); //file con funzione per zippare i file che trovi sotto
    if (isset($_POST['go'])) { //se è stato premuto il bottone 'go'
    if (@$_FILES['file'] != "") {
    $cartella = "uploads/"; //cartella dove vengono caricati i file
    $destinazione = $cartella . basename($_FILES['file']['name']);
    if (@
    move_uploaded_file($_FILES['file']['tmp_name'], $destinazione)) {
    $file_zip="file_compresso.zip"; //qui puoi modificare il nome del file.zip che verrà in seguito creato
    Zip("uploads/".$_FILES['file']['name'],$file_zip); //funzione che crea il file "file_compresso.zip" contenente il file appena caricato nella cartella uploads
    echo "File caricato con successo! <br /><a href=\"" .$file_zip. "\">link</a>"; //cliccando sul link ti dovrebbe apparire la schermata che ti chiede se vuoi scaricare il file zip
    //A questo punto hai 2 file:
    //-quello "normale" nella cartella uploads;
    //-quello zippato dentro il file file_compresso.zip.
    //A seconda di cosa devi fare puoi tenerli tutti e 2 o cancellarne uno con la funzione unlink("percorso_del_file_da_eliminare"); .
    } else
    echo
    "Errore nell'upload del file";
    }else
    echo
    "Nessun file selezionato!";
    }
    ?>
    Sotto il file zip.php .Copialo e salvalo da qualche parte con il nome che vuoi ma modifica di conseguenza la funzione include("zip.php"); che trovi sopra.
    Codice PHP:
    <?php
    function Zip($source, $destination) {
    if(!
    extension_loaded('zip') || !file_exists($source)) {
    return
    false;
    }
    $zip = new ZipArchive();
    if(!
    $zip->open($destination, ZIPARCHIVE::CREATE)) {
    return
    false;
    }
    $source = str_replace('\\', '/', realpath($source));
    if(
    is_dir($source) === true) {
    $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);
    foreach (
    $files as $file) {
    $file = str_replace('\\', '/', realpath($file));
    if (
    is_dir($file) === true) {
    $zip->addEmptyDir(str_replace($source . '/', '', $file . '/'));
    }
    else if (
    is_file($file) === true) {
    $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file));
    }
    }
    } else if (
    is_file($source) === true) {
    $zip->addFromString(basename($source), file_get_contents($source));
    }
    return
    $zip->close();
    }
    ?>
    Spero di esserti stato d'aiuto. M.Riccardo

  7. #7
    Guest

    Predefinito

    praticamente devo creare 2 file .php??
    e ci devo mettere dentro questi 2 codici?
    spiegami meglio perché ho paura di far danni!
    ps:mi sapresti aiutare nell'installazione di openupload?!?

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,175

    Predefinito

    Si sta creando confusione per nulla.

    Nel tuo script iniziale, sostituisci:
    Codice PHP:
    echo "File caricato con successo!";
    con
    Codice PHP:
    echo "File caricato con successo! <a href='".$destinazione."'>link</a>";
    Come ti avevo detto, il file si trova in $destinazione... Quindi è sufficiente stamparla.

    Ciao!

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Si sta creando confusione per nulla.

    Nel tuo script iniziale, sostituisci:
    Codice PHP:
    echo "File caricato con successo!";
    con
    Codice PHP:
    echo "File caricato con successo! <a href='".$destinazione."'>link</a>";
    Come ti avevo detto, il file si trova in $destinazione... Quindi è sufficiente stamparla.

    Ciao!
    grazie tra poco lo provo!

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Si sta creando confusione per nulla.
    Come ti avevo detto, il file si trova in $destinazione... Quindi è sufficiente stamparla.
    Così facendo ti fa vedere il file ma non te lo fa scaricare, come chiedeva.

    @gameofpc
    Se vuoi seguire la mia via, devi creare un file nuovo che io ho chiamato zip.php e metterci il codice che ti ho postato nel secondo blocco.Poi devi modificare il tuo file upload.php con quello che ti ho postato nel primo blocco php.Ti consiglio di provare prima in locale e quando sei convinto che tutto funzioni alla perfezione metti tutto online. M.Riccardo

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da richysCorner Visualizza messaggio
    Così facendo ti fa vedere il file ma non te lo fa scaricare, come chiedeva.

    @gameofpc
    Se vuoi seguire la mia via, devi creare un file nuovo che io ho chiamato zip.php e metterci il codice che ti ho postato nel secondo blocco.Poi devi modificare il tuo file upload.php con quello che ti ho postato nel primo blocco php.Ti consiglio di provare prima in locale e quando sei convinto che tutto funzioni alla perfezione metti tutto online. M.Riccardo
    oookkey! aspettate che vi faccio sapere!

    edit:

    sentite, non ci sto capendo nulla..vi elenco il tutto!

    Codice HTML:
    <form method="post" action="upload.php" enctype="multipart/form-data">
    <b><font color="skyblue">Scegli il file:</font> <font color="skyblue"><input type="file" name="file"></font> <input type="submit" value="Carica File" name="go">
    </form>
    
    
    <UL>
        <LI><B><font color="skyblue">Annunci:</font></B>
        <LI><B><font color="white">Dimensione Max File:</font> </B><font color="white">10mb(ci scusiamo per il poco spazio)</font>
        <LI><B><font color="white">Limite Di Tempo:</font> </B><font color="white">5min (prima che l'upload si fermi per eventuale errore)</font>
        <LI><B><font color="white">Per qualsiasi problema contatta l'amministratore:</font></B> <font color="skyblue">giangiyoutube@hotmail.it</font>
    
    </UL>
    
    <B><font color="skyblue">Stato server:</font><font color="white"> attivo</font></B>  
    
    <UL>
        <LI><script type="text/javascript">
    /* <![CDATA[ */
    document.write('<s'+'cript type="text/javascript" src="http://ad.altervista.org/js.ad/size=728X90/r='+new Date().getTime()+'"><\/s'+'cript>');
    /* ]]> */
    </script>
        <LI><script type="text/javascript">
    /* <![CDATA[ */
    document.write('<s'+'cript type="text/javascript" src="http://ad.altervista.org/js.ad/size=728X90/r='+new Date().getTime()+'"><\/s'+'cript>');
    /* ]]> */
    </script>
    </UL>
    
    <P ALIGN=CENTER><B><font color="white">Uploader Di File by G14ng1-visita anche:</font></B><A HREF="http://gamepcgeneration.altervista.org/index.php"><font color="skyblue">  gamepcgeneration</font></A></P>
    <body bgcolor="black">
    
    
    
    <P ALIGN=CENTER><img src="http://gameofpc.altervista.org/download/upload%20file%20hosting.jpg"</p>
    
    
    
    <P ALIGN=CENTER><ul>
        
    
    
    
        <il><font color="skyblue"><A HREF="http://gameofpc.altervista.org/Progetto.html">Questo Progetto</A>|
    <A HREF="http://gameofpc.altervista.org/contattaci.html">Contattaci</A></font>
    </ul></P>

    Codice PHP:
    <?php
    include("zip.php"); //file con funzione per zippare i file che trovi sotto
    if (isset($_POST['go'])) { //se è stato premuto il bottone 'go'
    if (@$_FILES['file'] != "") {
    $cartella = "uploads/"; //cartella dove vengono caricati i file
    $destinazione = $cartella . basename($_FILES['file']['name']);
    if (@
    move_uploaded_file($_FILES['file']['tmp_name'], $destinazione)) {
    $file_zip="file_compresso.zip"; //qui puoi modificare il nome del file.zip che verrà in seguito creato
    Zip("uploads/".$_FILES['file']['name'],$file_zip); //funzione che crea il file "file_compresso.zip" contenente il file appena caricato nella cartella uploads
    echo "File caricato con successo! <br /><a href=\"" .$file_zip. "\">link</a>"; //cliccando sul link ti dovrebbe apparire la schermata che ti chiede se vuoi scaricare il file zip
    //A questo punto hai 2 file:
    //-quello "normale" nella cartella uploads;
    //-quello zippato dentro il file file_compresso.zip.
    //A seconda di cosa devi fare puoi tenerli tutti e 2 o cancellarne uno con la funzione unlink("percorso_del_file_da_eliminare"); .
    } else
    echo
    "Errore nell'upload del file";
    }else
    echo
    "Nessun file selezionato!";
    }
    ?>
    zip.php

    Codice PHP:
    <?php
    function Zip($source, $destination) {
    if(!
    extension_loaded('zip') || !file_exists($source)) {
    return
    false;
    }
    $zip = new ZipArchive();
    if(!
    $zip->open($destination, ZIPARCHIVE::CREATE)) {
    return
    false;
    }
    $source = str_replace('\\', '/', realpath($source));
    if(
    is_dir($source) === true) {
    $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);
    foreach (
    $files as $file) {
    $file = str_replace('\\', '/', realpath($file));
    if (
    is_dir($file) === true) {
    $zip->addEmptyDir(str_replace($source . '/', '', $file . '/'));
    }
    else if (
    is_file($file) === true) {
    $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file));
    }
    }
    } else if (
    is_file($source) === true) {
    $zip->addFromString(basename($source), file_get_contents($source));
    }
    return
    $zip->close();
    }
    ?>
    Ultima modifica di dreadnaut : 13-05-2012 alle ore 19.38.04 Motivo: + tag [html] e [php]. Se devi aggiungere qualcosa, usa il tasto Edita --->

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,175

    Predefinito

    Citazione Originalmente inviato da richysCorner Visualizza messaggio
    Così facendo ti fa vedere il file ma non te lo fa scaricare, come chiedeva.
    A me sembra chiedesse il link:

    Citazione Originalmente inviato da gameofpc Visualizza messaggio
    però non riesco a far in modo che quando un'utente carica un file,gli venga dato il link per scaricarlo,un pò come i siti di filesharing!
    Anche perché appena si carica che senso ha farlo scaricare immediatamente?

    Ciao!

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    A me sembra chiedesse il link:
    Anche perché appena si carica che senso ha farlo scaricare immediatamente?
    Per vedere se funziona il download e una volta visto che tutto funziona può salvare sul database il link per scaricare il file invece di mostrarlo subito. Almeno questo è quello che penso/farei io. Poi il sito è suo e fa quello che vuole.
    Anche la discussione si chiama "Upload e download di un file". M.Riccardo

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    A me sembra chiedesse il link:



    Anche perché appena si carica che senso ha farlo scaricare immediatamente?

    Ciao!
    allora la cosa é semplice:
    io ho un forum,i cui admin molto spesso caricano file rar..
    ora,io ho creato il sito con l'uploader,io vorrei che appena si finisce l'upload venga dato il link,nn che il download inizi in automatico! solo il link,altrimenti ogni volta devo andare su gestione file e fare copia indirizzo link e fornirlo!

  15. #15
    Guest

    Predefinito

    se riuscite a risolvermi il problemi ve ne sarei grato,perché voglio creare una specia di hosting acquistando spazio web! e mi serve per l'appunto questo sistema!

  16. #16
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,175

  17. #17
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    questo non va?

    Ciao!
    ah già devo provare quello!
    ma,$destinazione devo cancellarlo e metterci qualcos'altro o lo lascio così?
    edit:
    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /membri/gameofpc/upload.php on line 13

    mi da questo errore!
    possibile che nn ci sia modo? eppure i siti di file sharing lo fanno!
    Ultima modifica di gameofpc : 13-05-2012 alle ore 20.31.57

  18. #18
    Guest

    Predefinito

    Hai dimenticato di mettere un ; alla fine della riga 13 nel file upload.php.

  19. #19
    Guest

    Predefinito

    Citazione Originalmente inviato da richysCorner Visualizza messaggio
    Hai dimenticato di mettere un ; alla fine della riga 13 nel file upload.php.
    vi ringrazio tantissimo,ci siete riusciti!
    sotto a:
    file scaricato con successo ecc,ho messo echo "Link per scaricare il file : http://gameofpc.altervista.org/".$destinazione." .";
    grazie tante!
    codice php:
    Codice:
    <form method="post" action="upload.php" enctype="multipart/form-data">
    <font color="DODGERBLUE"><b>Scegli il file:</b></font> <font color="DODGERBLUE"><input type="file" name="file"></font> <input type="submit" value="Carica Il File" name="go">
    </form>
    
    <?php
    
    if(@$_FILES['file'] != "") {
    $cartella = "download/"; //cartella dove vengono caricati i file
    $destinazione = $cartella.basename( $_FILES['file']['name']);
    
    if(@move_uploaded_file($_FILES['file']['tmp_name'], $destinazione))
    echo              "<b>Link Per Scaricare Il File</b> : http://gameofpc.altervista.org/".$destinazione." ";
    else
    echo "Errore nell'upload del file";
    
    }elseif(isset($_POST['go']))
    echo "nessun file selezionato!";
    
    ?>
    <ul>
        <li><b>File Caricato Con Successo!</b>
        <li><b>Ora Puoi Anche Chiudere Questa Pagina..</b>
    </ul>
    <UL>
        <LI><script type="text/javascript">
    /* <![CDATA[ */
    document.write('<s'+'cript type="text/javascript" src="http://ad.altervista.org/js.ad/size=728X90/r='+new Date().getTime()+'"><\/s'+'cript>');
    /* ]]> */
    </script>
        <LI><script type="text/javascript">
    /* <![CDATA[ */
    document.write('<s'+'cript type="text/javascript" src="http://ad.altervista.org/js.ad/size=728X90/r='+new Date().getTime()+'"><\/s'+'cript>');
    /* ]]> */
    </script>
    </UL>
    
    <body bgcolor="white">
    
    <P ALIGN=CENTER><B><font color="DODGERBLUE">Uploader Di File by G14ng1-visita anche:</font></B><A HREF="http://gamepcgeneration.altervista.org/index.php"><font color="skyblue"> <font color="dodgerblue"> gamepcgeneration</font></font></A></P>
    <body bgcolor="black">
    
    <P ALIGN=CENTER><img src="http://gameofpc.altervista.org/download/upload%20file%20hosting.jpg"</p>
    per allineare:
    Codice:
    "<b>Link Per Scaricare Il File</b> : http://gameofpc.altervista.org/".$destinazione." ";
    come ho fatto con questi:
    Codice:
    <ul>
        <li><b>File Caricato Con Successo!</b>
        <li><b>Ora Puoi Anche Chiudere Questa Pagina..</b>
    </ul>
    come faccio? ho provato con lo stesso codice (<ul></ul>)
    ma mi da un'errore di sintassi,come faccio!
    giuro che è l'ultima cosa che chiedo haha
    Ultima modifica di gameofpc : 13-05-2012 alle ore 22.43.53

Regole di scrittura

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