как исправить загрузку файлов изображений в функции laravel - >move()

как исправить загрузку файлов изображений в функции laravel - >move()

25.06.2020 11:58:07 Источник

я пытаюсь загрузить изображение с помощью файлов изображений но выведите эту ошибку на экран

=> Symfony\Component\HttpFoundation\File\Exception\FileException
Could not move the file "C:\xampp\tmp\phpB3DB.tmp" to "works_images\2020-06-25 08:35:57before.jpg" (move_uploaded_file(): Unable to move 'C:\xampp\tmp\phpB3DB.tmp' to 'works_images\2020-06-25 08:35:57before.jpg').

я использую этот код в Tratis для загрузки изображения, что это за ошибка ?

public function saveImage($imgBefore , $imgAfter , $folder){
   $file_extention1 = $imgBefore->getClientOriginalExtension();
   $file_extention2 = $imgAfter->getClientOriginalExtension();

   $fileName1 = Carbon::now()->toDateTimeString().'before.'.$file_extention1;
   $fileName2 = Carbon::now()->toDateTimeString().'after.'.$file_extention2;

   $path = $folder;

   $imgBefore->move($path , $fileName1);
   $imgAfter->move($path , $fileName2);
   return [$fileName1,$fileName2]; }
У вопроса есть решение - Посмотреть?

Ответы - как исправить загрузку файлов изображений в функции laravel - >move() / how to fix file upload images in laravel ->move() function

Является ответом!
STA

25.06.2020 12:09:00

Эта проблема возникает при использовании зарезервированных символов в имени файла

Вот как вы получаете имя файла:

$fileName1 = Carbon::now()->toDateTimeString().'before.'.$file_extention1;
$fileName2 = Carbon::now()->toDateTimeString().'after.'.$file_extention2;
// Output
// 2020-06-25 08:35:57before.jpg

Это означало бы, что конечное имя файла будет иметь такие символы, как -, : и blank space. При чтении этой статьи Википедии https://en.wikipedia.org/wiki/Filename#Reserved_characters_and_words , понял, что: (двоеточие) является зарезервированным символом, и как только вы избавились от него (изменив раздел метки времени, например date('Ymd_His'))

Попробовать это :

$fileName1 = Carbon::now()->format('Y-m-d_H-i-s').'before.'.$file_extention1;
$fileName2 = Carbon::now()->format('Y-m-d_H-i-s').'after.'.$file_extention2;
Закрыть X