• Super User

    Album in php

    Ciao ragazzi
    mi servirebbe uno script che permetta agli utenti di caricare delle immagini sul sito e magari di poterle commentare.

    Conoscete qualcosa in PHP?


  • Moderatore

    purtroppo ho sempre fatto da me e mai con script fatti 😉

    se vuoi però possiamo lavorarci tutti e crearne uno by Forum GT

    che ne dite ragazzi? se vi và comincio subito 😉


  • User

    Bellissima Idea


  • Super User

    L'idea è ottima solo che a me servirebbe immediatamente per un lavoro che devo terminare. Ho cercato un pò in giro ed ho trovato Coppermine ma ha una grafica un pò retrò.

    Il migliore che ho trovato mi sembra questo: www. igalerie .org ma non consente l'upload da parte degli utenti


  • Moderatore

    dato che nessuno iniziava ho iniziato io 😉

    Questo è il file di config al database 😉 (connessione.php)
    [php]
    <?
    $db = "nome_db";
    $host = "localhost";
    $user = "root";
    $password = "";
    @$connessione = mysql_connect($host, $user, $password );
    mysql_select_db( $db );
    ?>
    [/php]

    Questo invece è il file per fare il caricamento dell'immagine con commento 😉
    ovviamente modificabile 😉 (qualsiasi nome)
    come potete notare c'è un campo nascosto dove potete passare la variabile con il nome utente 😉

    [php]
    <form action="upload.php" method="post" enctype="multipart/form-data">
    <p>
    Carica Immagine
    <input type="file" name="uploadfile">
    </p>
    <input name="utente" type="hidden" value="nome_utente">
    <p>
    <input type="submit" value="Invia il file">
    </p>
    </form>
    [/php]
    per non confondere passo ad una altra risposta con il continuo 😉


  • Moderatore

    questa è la nostra tabella mysql per l'upload
    [php]

    CREATE TABLE album (
    ID int(11) NOT NULL auto_increment,
    NICK varchar(50) default NULL,
    FOTO varchar(50) default NULL,
    PRIMARY KEY (ID)
    ) TYPE=MyISAM;
    [/php]

    questo è il nostro file upload.php 😉

    [php]
    <?
    //includo la connessione
    include_once "connessione.php";

    //richiamo la variabile del nome_utente legato all'immagine
    $utente=$_POST[utente];

    //lego le variabili secondo tutte le versioni di php 😉
    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    // questa variabile indica dove andranno le immagini bisogna però settare i chmod 777
    $upload_dir = $_SERVER["DOCUMENT_ROOT"]."/immagini";

    // nome del file uploadato e controllo esistenza
    $file_name = $_FILES["uploadfile"]["name"];

    if(trim($_FILES["uploadfile"]["name"]) == "") {

    die("Non hai inserito alcun file!");

    }
    //controllo i tipi se sono quelli desiderati
    $tipi = array("image/gif","image/x-png","image/pjpeg","image/jpeg");
    if(!in_array($_FILES["upfile"]["type"],$tipi)) {

    die("Il file non è di un tipo consentito, sono ammessi solo i seguenti: " . implode(",", $tipi) . ".");
    }
    if(@is_uploaded_file($_FILES["uploadfile"]["tmp_name"])) {

    @move_uploaded_file($_FILES["uploadfile"]["tmp_name"], "$upload_dir/$file_name")
    or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    } else {

    die("Problemi nell'upload del file " . $_FILES["uploadfile"]["name"]);

    }
    //faccio l'inclusione nel database dei dati
    $query = "INSERT INTO album (ID, NICK, FOTO) VALUES ("", "$utente", "$upload_dir/$file_name")";
    $sql = mysql_query ($query) or die(mysql_error());

    echo "L'upload del file " . $_FILES["uploadfile"]["name"] . " è avvenuto correttamente";
    ?>
    [/php]

    ora tocca a voi 😉
    e cerchiamo di migliorare anche questo