无法使用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")
我正在尝试 运行 此代码从前端获取图像输入。我知道我不能简单地使用这个 $_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")