【发布时间】:2020-02-25 19:38:47
【问题描述】:
我有一个收集用户信息的表格。它相当大,它应该有两个用于图像上传的输入。所以它应该在一个表单中上传两张图片。我有一个存储图像 URL 的数据库,第一个图像输入工作得很好,但我不知道现在如何上传第二个图像并将其 url 存储在数据库中。
我的表格:
<form action="forms/credit.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" class="input-text required-entry" required="">
<input type="file" name="cofile" class="input-text required-entry" required="">
<input type="submit" name="submit" value="Submit">
</form>
我的 php 图片处理程序:
$targetDir = "../images/";
$fileName = basename($_FILES["file"]["name"]);
$targetFilePath = $targetDir . $fileName;
$fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);
if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])){
// Allow certain file formats
$allowTypes = array('jpg','png','jpeg','gif','pdf');
if(in_array($fileType, $allowTypes)){
// Upload file to server
if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){
// Attempt insert query execution
$sql = "INSERT INTO credit (file, cofile) VALUES ('$fileName', '$fileName')";
if(mysqli_query($link, $sql) == false){
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
exit;
}
}
}
}
正如我所说,它适用于第一张图像,但它不适用于第二张图像。我想我需要使用数组或类似的东西,但是有人可以给我一个提示或代码预览我该怎么做吗?我对 PHP 还很陌生,我还在学习很多东西。
谢谢!
【问题讨论】:
-
那是因为你从来没有为它使用过 $_FILES 数组。
-
谢谢!你能帮我吗?我看到了一些教程,它可以使用数组来完成,但我很伤心,我是新手,我尝试的一切都以错误告终,我根本不理解代码。
-
当您的代码 nothing 包含实际处理第二张图片的任何内容时,为什么 会 与第二张一起使用?
-
@04fs 你能解释一下我如何处理第二张图片吗?我说我是新人,我还在学习中
-
您的代码易受 SQL 注入攻击。您应该使用准备好的语句。
标签: php mysql file-upload