我正在尝试运行此代码以从前端获取图像输入。我知道我不能仅使用此$_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
有人请帮帮我。
在我的数据库中,在“image”表中,“image”列的数据类型为BLOB,不确定问题是否与此有关。
提前致谢
答案 0 :(得分:0)
对于文件上传,您应添加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")