При использовании $_FILES ошибка с значениями

110
08 июля 2021, 08:50

Не работает функция move_uploaded_file, скорее всего проблема в синтаксисе, можете подсказать, почему код так не работает?

  $i=0;
if(count($_FILES['filesToUpload'])) {
    foreach ($_FILES['filesToUpload'] as $file) {
    $bla = move_uploaded_file($_FILES['$file[$i]']['tmp_name'], "public/materials/");
    if ($bla) {
        echo "kyaf";
    }
    else {
        echo "noooo";
    }
    echo $file[$i];
    $i++;
}

}

Answer 1

Попробуйте сделать так:

$files = $_FILES['filesToUpload'];
if ($files) {
    foreach ($files['tmp_name'] as $k => $fileName) {
        $fileName = $files['name'][$k];  // Определяем имя файла, берем его, которое было при загрузке
        $path = '/public/materials/' . $fileName;  // Загружаем его с полным путем
        if(!move_uploaded_file($fileName, $path))
            echo "Error, while trying to save file<br>";
    }
}

move_uploaded_file(string $filename , string $destination) принимает второй параметр $destination, в котором вы должны указать полный путь для конечного файла, а значит что должны указать имя.расширение, к примеру /public/materials/image.jpg.

READ ALSO
laravel-image-optimizer InvalidArgumentException

laravel-image-optimizer InvalidArgumentException

при установке пакета

95
Autoload Composer

Autoload Composer

При переносе проекта с локального компьютера на сервер не работает автозагрузка класса RoutingОшибка :Fatal error: Uncaught Error: Class 'routing\Routing' not found Структура...

98
Подгрузка связей laravel

Подгрузка связей laravel

выполняю запрос на вывод постов выбранного тега

113
короткие функции mysqli

короткие функции mysqli

создал функцию add

105