Mysql
 sql >> Database >  >> RDS >> Mysql

Come memorizzare le immagini nel database mysql usando php

Ho trovato la risposta, per coloro che cercano la stessa cosa ecco come l'ho fatto. Non dovresti considerare di caricare immagini nel database, invece puoi memorizzare il nome del file caricato nel tuo database e quindi recuperare il nome del file e usalo dove vuoi per visualizzare l'immagine.

CODICE HTML

<input type="file" name="imageUpload" id="imageUpload">

CODICE PHP

if(isset($_POST['submit'])) {

    //Process the image that is uploaded by the user

    $target_dir = "uploads/";
    $target_file = $target_dir . basename($_FILES["imageUpload"]["name"]);
    $uploadOk = 1;
    $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

    if (move_uploaded_file($_FILES["imageUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["imageUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }

    $image=basename( $_FILES["imageUpload"]["name"],".jpg"); // used to store the filename in a variable

    //storind the data in your database
    $query= "INSERT INTO items VALUES ('$id','$title','$description','$price','$value','$contact','$image')";
    mysql_query($query);

    require('heading.php');
    echo "Your add has been submited, you will be redirected to your account page in 3 seconds....";
    header( "Refresh:3; url=account.php", true, 303);
}

CODICE PER VISUALIZZARE L'IMMAGINE

while($row = mysql_fetch_row($result)) {
    echo "<tr>";
    echo "<td><img src='uploads/$row[6].jpg' height='150px' width='300px'></td>";
    echo "</tr>\n";
}