Не видя остальной части вашего кода, трудно понять, что происходит, но я предполагаю, что ваша линия $bikecreate->image = Input::file('image')
- это то, где вы устанавливаете путь файла к базе данных. Фактически вы установили экземпляр UploadedFile
как image
на $bikecreate
там, который, предположительно, сериализован, чтобы что-то помещать в базу данных, получает на него __toString()
.
__toString()
называется на File
инстанции (который сам наследует __toString
от SplFileInfo возвращает путь к этому файлу. Так что вы думаете, что вы получите закачанное имя файла, но на самом деле, потому что загруженный файл на самом деле временный файл в PHP , вы получите временное имя
Попробуйте изменить эту строку следующим образом:..
$bikecreate->image = Input::file('image')->getClientOriginalName();
Это возвращает фактическое оригинальное имя загружаемого файла, а не временный путь дал ему PHP
Само собой разумеется, что это относится только к UploadedFile
, нормальные файлы должны быть в состоянии быть __toString
ed, чтобы получить путь к файлу, хотя вы заметите, что это будет полный путь, а не базовое. Для этого используйте getBaseName()
.
Это работает! Спасибо ! :) – user3305675