Mysql
 sql >> Baza danych >  >> RDS >> Mysql

prześlij obraz do bazy danych mysql php

Oto skrypt, który zmodyfikowałem do pracy ze strukturą tabeli.

Funkcja
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>';

}
';}

}

Możesz wywołać funkcję w ten sposób:

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

Pamiętaj, że ten skrypt NIE JEST KOMPLETNY, ponieważ wymaga odpowiedniej weryfikacji, zmiany znaczenia itp.

Powodzenia, mam nadzieję, że ci się to uda i nie mogę się doczekać opinii w innym przypadku.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zaktualizuj zapytanie, aby zaktualizować wiersze w MySQL

  2. MySQL – różne metody poznania aktualnego użytkownika

  3. Jak używać JOIN w Yii2 Active Record dla modelu relacyjnego?

  4. Czy istnieje sposób na obliczenie różnic czasowych w MySQL za pomocą jednego wyboru?

  5. Obcinanie danych:zbyt długie dane dla kolumny „logo” w wierszu 1