Đâ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.