如何在数据库中插入带有文本字段的图像自定义表?
<form method = "post" action = "#">
<label for="name">Name</label>
<input type="text" name="name"/><br>
<label for="description">Description</label>
<input type="text" name="description"/><br>
<label for="phone">phone</label><br>
<input type="text" name="phone"/><br>
<label for="name">Image</label>
<input type="file" name="image"><br>
<input type="submit" value="Submit" name="sub_submit"/>
</form>
<?php
function insert_query() {
$name = $_POST['name'];
$description = $_POST['description'];
$phone = $_POST['phone'];
$img = $_FILE['image']['name'];
$img2 =time().$img;
$folder = "echo bloginfo('template_url')/pic/".$img2;
$tmp = $_FILE['image']['tmp_name'];
move_uploaded_file($tmp, $folder);
global $wpdb;
$table_name = "wp_insert";
$sss = $wpdb->insert($table_name, array('name' => $name, 'description' => $description, 'phone' => $phone, 'image' => $img2 ),array( '%s', '%s', '%d', '%s'));
if($sss)
{
echo "Done";
}
else
{
echo " Not Done";
}
}
if( isset($_POST['sub_submit']) ) insert_query();
========输出==========
1条答案
按热度按时间tuwxkamq1#
您的代码中有一些错误,不允许将您的图像上传到主题文件夹。
下面提供的表单处理和文件上传不建议用于WordPress。
你可以使用一些提示从WordPress的法典,如
wp_handle_upload()
等,也可以看看这个答案。1.代码的HTML部分应该是:
我们删除了
action
属性,因为不知道哪个文件应该处理它。另外,添加了enctype="multipart/form-data"
属性=〉值来处理文件上传。$_FILES
bloginfo()
打印值,但我们需要得到它(不是打印)。因此,我们可以使用get_bloginfo()
代替,或其他相关函数。我使用get_template_directory()
函数。move_uploaded_file()
将不创建文件夹,如果它不存在$img2 =time().$img;
本器件的附注:将图像命名为1545769627_name.jpg
会更好,您代码将创建类似1545769627name.jpg
的图像名称。另外,作为另一个注意事项。在你的代码中有很多安全漏洞。我不建议你在除localhost之外的任何其他项目中使用它。
其他部分应该按预期工作。