Visualizzazione dei risultati da 1 a 6 su 6

Discussione: immagini in php

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    323

    immagini in php

    salve a tutti, io ho un problema con immagini.

    io ho un form cosi:

    <form enctype=multipart/form-data method=post action=insert_image.php>
    Inserimento immagine: <input type=file name=file_inviato>

    Note:<textarea name=descrizione cols=40 rows=2></textarea>

    <input type=submit name=invia value=\"Invia file\">
    </form>

    e una tabella cosi' strutturata:
    id int(11)
    nome_file varchar(255)
    tipo_file varchar(128)
    descrizione longtext
    dati_file mediumblob

    se faccio l'upload dell'immagine mi memorizza o bytes al blob come mai?
    aaiutooo

    grazie a tutti

  2. #2
    scusa ma perchè memorizzare l'immagine nel database? non è meglio spostare l'immagine sul server e nel database tenere traccia del path??


  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    323
    no , preferisco nel db

  4. #4
    Come hai costruito l'UPDATE???

    Concordo sul fatto che è meglio salvare le immagini nel server e quindi tenere traccia della posizione nel db

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    323
    if(isset($_POST['invia']))
    {
    $descrizione = $_POST['descrizione'];
    // se ci sono stati problemi nell'upload del file
    if(!isset($_FILES['file_inviato']) OR $_FILES['file_inviato']['error'] != UPLOAD_ERR_OK)
    {
    echo "Errore nell'invio del file. Riprova
    \n";
    exit();
    }

    // recupero alcune informazioni sul file inviato
    $nome_file_temporaneo = $_FILES['file_inviato']['tmp_name'];
    $nome_file_vero = $_FILES['file_inviato']['name'];
    $tipo_file = $_FILES['file_inviato']['type'];

    // leggo il contenuto del file
    $dati_file = file_get_contents($nome_file_temporaneo);

    // preparo il contenuto del file per la query
    $dati_file = addslashes($dati_file);

    // query per inserire il file nel DB
    $query = "INSERT INTO tabella_immagini SET
    nome_file = '$nome_file_vero',
    tipo_file = '$tipo_file',
    dati_file = '$dati_file',
    descrizione = '$descrizione' ";
    echo "Memorizzazione del file ".$nome_file_vero." nel database eseguita correttamente.";
    mysql_query($query) OR die('Query non valida: ' . mysql_error());

    }
    else
    {
    echo "
    <h2>INSERIMENTO IMMAGINE</h2>
    <form enctype=multipart/form-data method=post action=insert_image.php>
    <table>
    <tr><td colspan=2>Inserimento immagine:
    <input type=file name=file_inviato>
    </td></tr>

    <tr><td colspan=2><input type=text name=descrizione></td></tr>
    <tr><td colspan=2>
    <input type=submit name=invia value=\"Invia file\">
    </td></tr></table>
    </form> ";
    }

    eccolo

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    secondo me è sempre la stessa storia: non riesci a leggere il file temporaneo fintanto che si trova nella cartella /tmp. Spostalo in area leggibile (dentro il tuo sito, per intenderci) con move_uploaded_file e poi leggilo dal nuovo percorso.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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 © 2025 vBulletin Solutions, Inc. All rights reserved.