sql >> Databáze >  >> RDS >> Mysql

nahrajte obrázek do databáze mysql php

Zde je skript, který jsem upravil, aby fungoval s vaší strukturou tabulky.

function addImageToDB($imageArray, $title = '', $subject = '', $visible = 0) {

$allowedExts = array("gif","jpeg","jpg","JPG","png","PNG");
$extension = end(explode(".", $imageArray["name"]));

if (
    (($imageArray["type"] == "image/gif") // is image type acceptable?
        || ($imageArray["type"] == "image/jpeg")
        || ($imageArray["type"] == "image/jpg")
        || ($imageArray["type"] == "image/png")
    )
    && ($imageArray["size"] < 1048576) // set maximum image size
    && in_array($extension, $allowedExts) // is image file extension in $allowedExts?
) {

    if ($imageArray["error"] > 0) { // check uploaded image for errors
        echo $imageArray['error'];
    } else {

        $tempImage = $imageArray['tmp_name'];
        $fp = fopen($tempImage, 'r');
        $image = fread($fp, filesize($tempImage));
        $image = addslashes($image);
        fclose($fp);

        $queryAddImageToDB = "INSERT INTO image (
            title,
            subject,
            image,
            visible
        ) VALUES (
            '$title'
            '$subject',
            '$image',
            '$visible'
        )";

        mysql_query ($queryAddImageToDB) or die ('queryAddImageToDB failed');
        $imageID = mysql_insert_id();

        return $imageID;

    }
} else {

    echo 'IMAGE UPLOAD ERROR: The image ie either too large or the file format is unacceptable.';

    echo '<pre>';
        print_r($imageArray); // display image array for debugging
    echo '</pre>';

}
';}

}

Funkci můžete zavolat takto:

$imageArray = $_FILES['image'];
$title = $_POST['title'];
$subject = $_POST['subject'];
$visible = 1;
addImageToDB($imageArray, $title, $subject, $visible);

Upozorňujeme, že tento skript NENÍ KOMPLETNÍ, protože vyžaduje řádné ověření, escapování atd.

Hodně štěstí, doufám, že vám to vyjde, a jinak se těším na zpětnou vazbu.




  1. psycopg2.OperationalError:FATAL:nepodporovaný frontend protokol 1234.5679:server podporuje 2.0 až 3.0

  2. Odstraňte všechny řádky, které nemají žádné ID v jiné tabulce

  3. Je to bezpečná metoda pro vkládání dat formuláře do databáze MySQL?

  4. MySQL Počítání různých hodnot z jednoho sloupce