Можем ли мы вставить три изображения, используя три типа входного файла в одной форме PHP? - PullRequest
0 голосов
/ 18 января 2019

, так как я новичок в PHP, я задаю этот вопрос. Я могу сделать одну вставку изображения с хорошей проверкой, но я хочу сделать это с 3 изображениями. (оставить часть проверки). Просто поправь меня, если я ошибаюсь. Любая помощь приветствуется.

Могу ли я вставить три изображения в следующем формате? Чтобы задать следующий вопрос, нужно 7 дней, пожалуйста, помогите мне, ребята.

<?php
if (isset($_POST['upload'])) 
{
$fileName1  = $_FILES["uploaded_one"]["name"]; 
$fileTmp1   = $_FILES["uploaded_one"]["tmp_name"]; 
$fileType1  = $_FILES["uploaded_one"]["type"]; 
$fileSize1  = $_FILES["uploaded_one"]["size"];  

$fileName2  = $_FILES["uploaded_two"]["name"]; 
$fileTmp2   = $_FILES["uploaded_two"]["tmp_name"]; 
$fileType2  = $_FILES["uploaded_two"]["type"]; 
$fileSize2  = $_FILES["uploaded_two"]["size"]; 

$fileName3  = $_FILES["uploaded_three"]["name"]; 
$fileTmp3   = $_FILES["uploaded_three"]["tmp_name"]; 
$fileType3  = $_FILES["uploaded_three"]["type"]; 
$fileSize3  = $_FILES["uploaded_three"]["size"]; 

if (!preg_match("/.(jpeg|jpg|png)$/i", $fileName1 || $fileName2 || $fileName3) )

$folder = "upload/";
$moveResult1 = move_uploaded_file($fileTmp1, "$folder/$fileName1");
$moveResult2 = move_uploaded_file($fileTmp2, "$folder/$fileName2");
$moveResult3 = move_uploaded_file($fileTmp3, "$folder/$fileName3");



$insert   = "SQL INSERT QUERY TIRED TO TYPE";
$run = mysqli_query($db,$insert);
}
?>        
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="uploaded_one" />
<input type="file" name="uploaded_two" />
<input type="file" name="uploaded_three" />  
<button name="upload">Submit</button>
</form>

И я думаю, что мой preg_match () выдает ошибку. Есть лучший способ сделать это?

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Вы можете создать массив с суффиксом имени и проходить по нему, пока вы проверяете каждый файл отдельно.

foreach(['one', 'two', 'three'] as $item)
    $name  = $_FILES["uploaded_{$item}"]["name"];
    $tmp   = $_FILES["uploaded_{$item}"]["tmp_name"];
    $type  = $_FILES["uploaded_{$item}"]["type"];
    $size  = $_FILES["uploaded_{$item}"]["size"];

    if (!preg_match("/.(jpeg|jpg|png)$/i", $name))
        $folder = "upload/";
    $result = move_uploaded_file($tmp, "$folder/$name");
}
0 голосов
/ 19 января 2019

Можете ли вы использовать только несколько входных данных для загрузки ваших 3 файлов на один и тот же вход?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...