Как загрузить один и тот же файл под разными именами для каждого пользователя, используя Foreach - PullRequest
0 голосов
/ 03 мая 2020

другие запросы, работающие через foreach l oop .но загрузка файла для 1-го индекса массива. Это не загрузка нескольких файлов. Я хочу загрузить один и тот же файл под разными именами для каждого пользователя.

    foreach($_POST['groupmem'] as $user){
    //Some Queries

    $filename2 = str_replace(" ", "_","{$user}.{$_FILES['proposal']['name']}");
    $destination2 = '../img/proposal/' . $filename2;
    $extension2 = pathinfo($filename2, PATHINFO_EXTENSION);
    $file2 = $_FILES['proposal']['tmp_name'];
    $size2 = $_FILES['proposal']['size'];
    if (!in_array($extension2, ['zip', 'pdf', 'docx'])) {
        echo "You file extension must be .zip, .pdf or .docx";
    } elseif ($_FILES['proposal']['size'] > 200000000) { // file shouldn't be larger than 200Megabyte
        echo "File too large!";
    } else {
        if (move_uploaded_file($file2, $destination2)) {
            $sql = "UPDATE project SET proposal_name='$filename2' WHERE u_id='{$user}' ";
            if (mysqli_query($conn, $sql)) {
                echo "File uploaded successfully";
            }
        } else {
            echo "Failed to upload file.";
        }
    }
    }

1 Ответ

0 голосов
/ 03 мая 2020

вы не можете сделать move_uploaded_file внутри l oop

$user1 = $_POST['groupmem'][0];
$filename1 = str_replace(" ", "_","{$user1}.{$_FILES['proposal']['name']}");
$destination1 = '../img/proposal/' . $filename1;
$extension1 = pathinfo($filename1, PATHINFO_EXTENSION);
$file1 = $_FILES['proposal']['tmp_name'];
$size1 = $_FILES['proposal']['size'];
if (!in_array($extension1, ['zip', 'pdf', 'docx'])) {
    echo "You file extension must be .zip, .pdf or .docx";
} elseif ($_FILES['proposal']['size'] > 200000000) { // file shouldn't be larger than 200Megabyte
    echo "File too large!";
} else {
    if (move_uploaded_file($file1, $destination1)) {

    foreach($_POST['groupmem'] as $user){
        $filename2 = str_replace(" ", "_","{$user}.{$_FILES['proposal']['name']}");
        $destination2 = '../img/proposal/' . $filename2;
        if ($user <> $user1) {
            if (!copy($destination1, $destination2))  echo "failed to copy $file...\n";
        }

        $sql = "UPDATE project SET proposal_name='$filename2' WHERE u_id='{$user}' ";
        if (mysqli_query($conn, $sql)) {
        echo "File uploaded successfully";
        }
    }

    } else {
        echo "Failed to upload file.";
    }

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