Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Ridimensionare Immagini e salvarle in MySql

    Ciao Ragazzi,

    sto provando a salvare una "versione" ridimensionata di una foto selezionata dal pc , usando Gd....

    il codice che uso è questo:
    PHP:
    /////-----TEST RIMDIMENSIONAMENTO FOTO------------//////////////

    // Ottengo le informazioni sull'immagine originale
    list($width, $height, $type, $attr) = getimagesize($_FILES['foto']['tmp_name']);

    // Creo la versione 120*90 dell'immagine (thumbnail)
    $thumb = imagecreatetruecolor(120, 90);
    $source = imagecreatefromjpeg($_FILES['foto']['tmp_name']);
    imagecopyresized($thumb, $source, 0, 0, 0, 0, 120, 90, $width, $height);

    // Salvo l'immagine ridimensionata
    imagejpeg($thumb, $_FILES['foto']['tmp_name']."jpg", 75);


    /////-----FINE TEST RIMDIMENSIONAMENTO FOTO------------///////


    Nella query di inserimento nel DB , insieme agli altri campi , per la foto ridimensionata inserisco la variabile $thumb....

    Il risultato è che la queri va a buon fine ma..... nel db viene salvato un file che (aperto col blocco note) riporta solo " Resource ID #9 ...... e poi quando cerco di visualizzare l'immagine ... non vedo nulla ...

    Dove sbaglio ???????

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    La soluzione è NON salvare direttamente le immagini nel DB, molto raramente ha senso farlo.
    Le immagini vanno salvate come tali in una cartella e nel DB ci va solo il riferimento al file caricato, quindi solo il nome del file se le immagini vanno tutte nella stessa cartella, anche il percorso se invece possono andare in cartelle diverse.
    Quando ti serve l'immagine relativa al record che recuperi dal DB sapendo il nome del file e la cartella dove si trova vai a prenderla lì.

  3. #3
    Ciao Alhazred,

    grazie mille per la risposta.... ma collego l'immagine al campo del DB "id" ... così da poterla poi recuperare in fase di "SELECT WHERE ID" '

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Solitamente "Resource ID #..." vuol dire che non hai fatto il fetch del record (con mysqli_fetch_assoc() o simile).

  5. #5
    Ciao ragazzi,


    scusate la latitanza ma ...dei problemini mi hanno portato lontatno.
    Torno per richiedervi una mano su come riuscir a ridimensionare (in termini di MB) le immagini che inserisco nel mio DB .
    ES: carico un' immagine da 4 mega e vorrei che nel DB occupasse , per dire , 512k .


    Mi date una mano , non riesco a venirne fuori. Vi allego un esempio della tabella che vorrei realizzare , in realtà è gia tutto fatto .... manca la questione del ridimensionamento.


    Grazie mille



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.