Два входа изображения в одной форме - PullRequest
0 голосов
/ 30 октября 2019

У меня есть форма, в которой я собираю информацию о пользователях. Он довольно большой и должен иметь два входа для загрузки изображений. Таким образом, в одной форме должно быть загружено два изображения. У меня есть база данных, где я храню 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 и все еще многому учусь.

Спасибо!

1 Ответ

2 голосов
/ 30 октября 2019

Вам необходимо сохранить файл так же, как вы храните $_FILES["file"]. К этому можно получить доступ, используя $_FILES["cofile"]

Что-то вроде этого должно помочь (не проверено)

$fileName = basename($_FILES["file"]["name"]);

$targetFilePath = $targetDir . $fileName;

$cofileName = basename($_FILES["cofile"]["name"]);

$targetcoFilePath = $targetDir . $cofileName;

if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath) &&  move_uploaded_file($_FILES["cofile"]["tmp_name"], $targetcoFilePath))
...