Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

tải hình ảnh lên php cơ sở dữ liệu mysql

Đây là tập lệnh tôi đã sửa đổi để hoạt động với cấu trúc bảng của bạn.

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

}
';}

}

Bạn có thể gọi hàm như sau:

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

Xin lưu ý rằng tập lệnh này KHÔNG HOÀN THÀNH vì nó cần xác thực thích hợp, thoát, v.v.

Chúc may mắn, tôi hy vọng điều này hiệu quả với bạn và tôi mong nhận được phản hồi khác.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để đặt sql ngày &giờ đầy đủ bằng java chứ không chỉ ngày?

  2. Hiệu suất MySQL:Cách tận dụng việc lập chỉ mục cơ sở dữ liệu MySQL

  3. Cập nhật MySQL thay đổi nhiều cột không phải là nguyên tử?

  4. Lỗi kết nối PDO khi sử dụng symfony và MAMP

  5. MySql chọn IN chuỗi mệnh đề được phân tách bằng dấu phẩy