Visualizzazione risultati 1 fino 2 di 2

Discussione: upload immagine profilo utenti

  1. #1
    carpeweb non è connesso Neofita
    Data registrazione
    25-03-2013
    Messaggi
    4

    Predefinito upload immagine profilo utenti

    Buongiorno a tutti..
    Ho trovato questo script in rete e ve lo posto per darvi un quadro dettagliato della situazione, prima di porre quesiti/consigli.

    connetti.php
    Codice PHP:
    <?php
    $link
    = mysql_connect('localhost', 'nome utente', 'passw');
    if (!
    $link) {
    die (
    'Non riesco a connettermi: ' . mysql_error());
    }

    $db_selected = mysql_select_db('miodatabase', $link);
    if (!
    $db_selected) {
    die (
    "Errore nella selezione del database: " . mysql_error());
    }
    ?>
    index.php
    Codice PHP:
    <script >

    lì ho dovuti togliere perchè da fastidio al sistema e non mi fa inviare il messaggio
    <script>
    function togli(x)
    {
    $('#'+x).toggle();
    var immagine = document.getElementById('hidden'+x).value;
    $.get('togli.php',{img:immagine},function(done){$('#cancella_img').html(done)});
    }


    function carica()
    {
    $.post('insert_immages.php',{fine:'yes'},function(done){$('body').html(done)});
    }

    </script>
    <?php

    require_once("connetti.php");


    #se non esistono delle cartelle le creo
    if(!file_exists('img_temp'))
    {
    mkdir('immages/',0777);
    }
    if(!
    file_exists('immages'))
    {
    mkdir('immages/',0777);
    }
    if(
    $_POST['sub'])
    {
    #Inizializzo la cartella dove andranno a finire le imamgini
    $dir = 'immages/';
    #ricevo i dati delle immagini
    #$nome per il nome del file, es: pippo.jpeg
    $nome = $_FILES['file']['name'];
    #$nome_temporaneo invece per il nome temporaneo che
    #il server crea per l'immagine pippo.jpeg
    $nome_temporaneo = $_FILES['file']['tmp_name'];

    #Inizializzo una variabile a cui dò un valore intero pari a 0
    #semplicemente per far girare il codice while e leggere l'array
    $n=0;
    #finche n sarà minore delle immagini caricate, il ciclo continuer�
    while($n<count($nome))
    {
    #trovo le informazioni , come: l'altezza, la larghezza e il sorgente delle immagini
    #creando una lista e usando poi getimagesize() per prelevare le informazioni
    list($larghezza,$altezza,$sorgente,$attributo) = getimagesize($nome_temporaneo[$n]);
    #creo uno switch in base al sorgente e per ogni caso effettuer� un preciso evento
    switch($sorgente)
    {
    case
    IMAGETYPE_GIF:
    #creo le immagini
    $immagine = imagecreatefromgif($nome_temporaneo[$n]);
    imagegif($immagine, $dir.$nome[$n]);
    break;

    case
    IMAGETYPE_JPEG:
    $immagine = imagecreatefromjpeg($nome_temporaneo[$n]);
    imagejpeg($immagine, $dir.$nome[$n]);
    break;

    case
    IMAGETYPE_PNG:
    $immagine = imagecreatefrompng($nome_temporaneo[$n]);
    imagepng($immagine, $dir.$nome[$n]);
    break;

    case
    IMAGETYPE_BMP:
    $immagine = imagecreatefrombmp($nome_temporaneo[$n]);
    imagebmp($immagine, $dir.$nome[$n]);
    break;
    }

    #Creo il div dove gli assegno l'id per identificare con JQuery le imamgini appena caricate
    ?> <div id='<?php echo $n?>'>
    <img src='<?php echo $dir.$nome[$n]?>' style='width:150px; height:150px'>
    <input id='hidden<?php echo $n ?>' type='hidden' value='<?php echo $dir.$nome[$n] ?>'/>
    <div onclick='togli("<?php echo $n ?>")'>Togli</div>
    </div>
    <div id='rimetti<?php echo $n ?>' onclick='rimetti("<?php echo $n ?>")' style='display:none'>Rimetti</div>
    <?php
    $n
    ++; #aumento la variabile inizializzata per il funzionamento dello while
    }
    ?>
    <div id='cancella_img'></div>
    <input type='submit' value='carica' onclick='carica();void 0'/>
    <?php
    exit;
    }
    ?>
    <form action='' method='POST' enctype='multipart/form-data'>
    <input type='file' name='file[]' multiple size ="60"/>
    <input type='submit' name='sub' value='Carica'/>
    </form>

    insert_immages.php

    Codice PHP:
    <?php
    require_once("connetti.php");

    if(isset(
    $_POST['fine']))
    {
    #Inserisci questa funzioncina per leggere tutti i file contenuti nella cartella immagini
    #che poi verranno inseriti nel db tramite una query grazie ad un for
    function illustrazioni($cartella){
    $foto=Array();
    if(
    file_exists($cartella)){
    $directory = opendir($cartella);
    while (
    false !== ($file = readdir($directory))) {
    if(
    is_file($cartella.$file)){
    array_push($foto,$file);
    }
    }
    $handle = closedir($directory);
    }
    sort($foto);
    return
    $foto;
    }
    $foto_t=array();
    $foto_t=illustrazioni("img_temp/");
    $conta = count($foto_t);
    for (
    $x=0; $x<$conta; $x++)
    {
    $immagine_t = "img_temp/$foto_t[$x]";
    $immagine = "immages/$foto_t[$x]";
    echo
    "<img src='".$immagine_t."' width='150px' height='150px'> ";
    #questa variabile contiene il valore dell'url finale che si inserirà alla fine
    #Sposto i file nella cartella temporanea in quella fissa
    copy($immagine_t,'immages/'.$foto_t[$x]) or die('non si sposta la foto');
    ##infine elimino il file nella directory temporanea
    unlink($immagine_t);

    $insert_query = "INSERT INTO immagine(immagine) VALUES('".$immagine."')";
    mysql_query($insert_query);

    }
    echo
    "Le immagini sono state inserite nel database con successo!";
    }
    mysql_close();

    ?>
    togli.php

    Codice PHP:
    <?php

    require_once("connetti.php");

    echo
    $_GET['img']." eliminata con successo!</div>";
    #elimino il file con la funzione unlink()
    unlink($_GET['img']);
    ?>
    Veniamo al dunque..
    Utilizzo questo script nella pagina di accesso utente e vorrei che il thumb che appare finito l'upload,venisse salvato a video con un link "modifica immagine"sotto...Ma non riesco a manipolare lo script e vi chiedo aiuto..
    Inoltre non capisco nemmeno se la tabella "immagine " che ho creato nel mio db con unico campo immagine/blob e' corretta...

    Consigli???

  2. #2
    Guest

    Predefinito Installazione

    Ciao senti ma questi codici dove bisogna inserirli? E poi puoi postare qualche immagine dei risultati?

Regole di scrittura

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