Не загружать несколько файлов - PullRequest
0 голосов
/ 17 января 2019

Я позаимствовал этот код из другого вопроса StackOverflow, но по какой-то причине не могу заставить его работать. При тестировании это даже не передача файлов. Мой тест на ошибки показывает

всего: 0

Так что тут ничего не получится. Любая помощь будет принята с благодарностью

session_start();
$total = count($_FILES['upload']['name']);
echo "total: " . $total;
    for( $i=0 ; $i < $total ; $i++ ) {
    $tmpFilePath = $_FILES['upload']['tmp_name'][$i];
    echo $tempFilePath . "<br>";
    if ($tmpFilePath != ""){
        $newFilePath = "/images/prod/" . $_FILES['upload']['name'][$i];
        echo $newFilePath . "<br>";
        if(move_uploaded_file($tmpFilePath, $newFilePath)) {
            echo $_FILES['upload']['name'];
        }
    }
}

<form action="addpics.php" method="get" name="add" enctype="multipart/form-data>
<input type="file" name="imgs[]" multiple>
<input type="submit" value=" - ADD - ">
</form>

Ожидайте загрузки файлов в папку / images / prod и повторить массив имен файлов

Ответы [ 2 ]

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

Проблема в том, что ваш метод, enctype и имя поля неверны.Как уже упоминали другие, вы упускаете кавычку на enctype.

Вы пытаетесь получить поле загрузки из своей формы, но форма не имеет этого поля, поэтому вам нужно обновить ввод файла и переименовать его вupload[]

Также вы пытаетесь отправить форму с помощью запроса GET, который не передает данные.

Этот код должен решить проблему (я изменил его, поэтому он публикует наа не ваш addpics.php файл)

<?php

if(isset($_FILES['upload'])){
session_start();
$total = count($_FILES['upload']['name']);

echo "total: " . $total;
for( $i=0 ; $i < $total ; $i++ ) {
    $tmpFilePath = $_FILES['upload']['tmp_name'][$i];
    echo $tempFilePath . "<br>";
    if ($tmpFilePath != ""){
        $newFilePath = "/images/prod/" . $_FILES['upload']['name'][$i];
        echo $newFilePath . "<br>";
        if(move_uploaded_file($tmpFilePath, $newFilePath)) {
            echo $_FILES['upload']['name'];
        }
    }
}}
?>
<form method="post" name="add" enctype="multipart/form-data">
<input type="file" name="upload[]" multiple>
<input type="submit" value=" - ADD - ">
</form>
0 голосов
/ 17 января 2019

вы не закрыли кавычку энктипа. enctype="multipart/form-data"

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