无法使用wpdb将图像插入数据库

Not able to insert images into database using wpdb

我正在尝试 运行 此代码从前端获取图像输入。我知道我不能简单地使用这个 $_POST['img'] 上传图片。我读到我必须为此目的使用 file_get_contents() 。但我是新手,我不知道如何使用 file_get_contents()

但是我试过这段代码,但是插入不成功

<form action="" method="post">
<label id="img">image: <input type="file" name="img" id='media'/></label>
<input type="submit" name="Submit" value="upload"/>

<?php

global $wpdb;
if($_POST['Submit']) 
{
$image=$_POST['img'];

if($wpdb->insert(
    'image',
    array(

            'image' => $image


        )
) == false) echo 'Database Insertion failed';
else echo 'Database insertion successful<p />';
}
?>

这没有用。在此之后我尝试了这个。但是还是没有成功。

<form action="" method="post">
<label id="img">image: <input type="file" name="img" id='media'/></label>
<input type="submit" name="Submit" value="upload"/>

<?php

global $wpdb;
if($_POST['Submit']) 
{
$image=$_POST['img'];
$item = file_get_contents($_FILES['img']['tmp_name']);
if($wpdb->insert(
    'image',
    array(

            'image' => $item


        )
) == false) echo 'Database Insertion failed';
else echo 'Database insertion successful<p />';
}
?>

为此我收到了警告 Warning: file_get_contents(): Filename cannot be empty in C:\xampp\htdocs\kite\wp-content\plugins\php-code-widget\execphp.php(27) : eval()'d code on line 11

有人请帮助我。

并且在我的数据库中,table "image" 列 "image" 的数据类型为 BLOB,不确定问题是否与此有关。

提前致谢

对于文件上传,您应该添加 enctype="multipart/form-data"

<form enctype="multipart/form-data" action="" method="post">
      ^                           ^

先上传到某个文件夹,然后使用file_get_contents()

if (move_uploaded_file($_FILES['file']['tmp_name'], "your path". $_FILES["file"]['name'])) {
       // image will get uploaded here
}

然后使用

file_get_contents("new path")