gpt4 book ai didi

PHP,同时使用 $_FILES 和 $_POST 但它不工作

转载 作者:行者123 更新时间:2023-11-28 00:46:46 25 4
gpt4 key购买 nike

我正在制作一个管理页面以在 MySQL 中插入所有属性并将图像上传到一个文件夹中但出现一些错误,这是表单代码

<form role="form" id="form1" action="" enctype="application/x-www-form-urlencoded"  method="post">
<div class="col-lg-6">
<div class="form-group">
<label>Title:</label>
<input type="text" name="title" placeholder="enter title" class="form-control"required>
</div>
<div class="form-group">
<div class="col-lg-6 col-md-6 col-sm-6">
<label>Image:</label>
<input type="file" name="upload" id="postimage" class="form-control">
</div>
</div>
<input type="reset" name="reset" value="reset">
</div>
<div class="col-lg-6">
<div class="form-group">
<label>Content:</label>
<input type="text" class="form-control" name="content" placeholder="explain in brief">
</div>
<div class="form-group">
<label>Age:</label>
<input type="text" class="form-control" placeholder="enter require age" name="age">
</div>
<div class="form-group">
<input type="submit" name="submitpost" value="Submit-Post" class="form-control">
</div>
</div>
</form>

当我使用 PHP 代码将我的图像插入一个文件夹名称 img 和 MySQL 表中的其他属性时。

<?php
$target_dir = "../../img/";
if (isset($_FILES['upload'])and isset($_POST['submitpost'])) {
$target_file = $target_dir . basename($_FILES["upload"]["name"]);
if(move_uploaded_file($_FILES["upload"]["tmp_name"], $target_file)){
$title=$_POST['title'];
$age=$_POST['age'];
$content=$_POST['content'];
$query="INSERT INTO `posts`
(`id`,`title`, `image`,`age`, `content`)
VALUES (null,'$title','$target_file','$age','$content')";
if(mysqli_query($con,$query))
{
echo "<script>alert('passed')</script>";
}else{
echo "<script>alert('not passed')</script>";
}
}else{
echo "<script>alert('problem with image upload')</script>";}
}
?>

但是在提交之后我什么也没有得到,既没有错误也没有任何通知,我不知道是什么问题帮助我,我确实尝试了一些其他代码然后它插入到表中但图像没有上传到目标文件夹中。帮助通过它我是 PHP 的新手,所以

最佳答案

您在文件输入的表单中添加了enctype="application/x-www-form-urlencoded",这是错误的。添加如下

<form role="form" id="form1" action="" enctype="multipart/form-data" method="post">

添加PHP代码如

$target_dir = $_SERVER['DOCUMENT_ROOT'] . '/img/';
if(!empty($_FILES['upload']['name'] && isset($_POST['submitpost']))){
$target_file = $target_dir . basename($_FILES["upload"]["name"]);
if(move_uploaded_file($_FILES["upload"]["tmp_name"], $target_file)){
extract($_POST);
$title = mysqli_real_escape_string($con,$title);
$age = mysqli_real_escape_string($con,$age);
$content = mysqli_real_escape_string($con,$content);
$query = "INSERT INTO `posts` (`id`,`title`,`image`,`age`,`content`)
VALUES (null,'{$title}','{$target_file}','{$age}','{$content}');";
if(mysqli_query($con,$query)){
echo "<script>alert('passed')</script>";
}else{
echo "<script>alert('not passed')</script>";
}
}else{
echo "<script>alert('problem with image upload')</script>";
}
}

请确保$target_dir 是您的图片上传目录的正确路径。

关于PHP,同时使用 $_FILES 和 $_POST 但它不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49968337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com