У меня есть приложение Laravel 5.3, которое имеет форму, в которой пользователи могут загружать несколько файлов, используя несколько полей . Форма работает с тем, что файлы могут быть загружены и перемещены в destinationPath, как я ожидаю, но я не могу изменить каждое из значений файлов «имя_файла». Он сохраняет значение имени файла как php **. Tmp.Как установить индивидуальные имена файлов загрузки?
В этом случае я использую foreach в своем контроллере;
$files = $request->files;
foreach($files as $file){
$destinationPath = 'images/forms'; // upload path
$filename = $file->getClientOriginalName(); // get image name
$file->move($destinationPath, $filename); // uploading file to given path
$file->filename = $filename;
}
Если I dd($filename)
и dd($file->filename)
внутри Еогеасп я получаю значение (оригинальное название) Я ищу, но если я dd($files)
вне этого Еогеасп, имя файла задается как значение температуры PHP.
Что мне не хватает? Благодарю.
EDIT
Файл объект выглядит следующим образом;
-test: ложные
-originalName: "sample_header_1280.png"
-mimeType: "изображение/PNG"
-размер: 51038
-ошибка: 0
Путь: "C: \ xampp \ tmp"
имя файла: "php7240.tmp"
базовое имя: "php7240.tmp"
путь: "C: \ XAMPP \ TMP \ php7240.tmp"
расширение: "TMP"
Realpath: «C: \ XAMPP \ tmp \ php7240.tmp "
Я пытаюсь сохранить исходное имя в db, но, похоже, по умолчанию сохраняет имя файла.
Почему вы используете последнюю строку внутри foreach? –
Я пытаюсь установить значение имени файла. См. Мое редактирование для деталей. – RushVan