如何将图像转换为可以保存到 SQL 的数据

How to get the image into data that you can save to SQL

if(isset($_POST["imageuploader"])){ //Is submitted
    if ($_FILES['image']['tmp_name']){ //LINE 3
        $data   = file_get_contents($_FILES['image']['tmp_name']);
        $base64 = base64_encode($data);
        $item   = inputSanitize($_POST['item']);


        $updateImage = $odb->prepare("UPDATE `items` SET `image` = ? WHERE `id` = ?;");
        $updateImage->BindValue(1, $base64);
        $updateImage->BindValue(2, $item);
        $success = true;
    }else{
        $errors[] = "Please add an image.";
    }
}

我遇到的问题是 $_FILES['image']['tmp_name'] 显然是一个未定义的索引:

Notice: Undefined index: image in /var/www/html/staff/imageupdater.php on line 3

但是,我的表格中有这个:

<input type="file" name="image" accept="image/*">

file_uploads = On 在我的 php.ini 中,我正在上传的文件是 gif。

您可能缺少表单标记中的 enctype。,

 <form action="demo_post_enctype.asp" method="post" enctype="multipart/form-data">

否则不会上传任何文件并且 $_FILES 不会被填充,因此未定义的 image 索引。