Próbuję przesłać kilka zdjęć i obsłużyć to za pomocą funkcji Laravel. Ale nie potrafię dla mnie zrozumieć, jak to zrobić właściwie. Udało mi się przesłać coś, ale mam kilka problemów. Jest to kod mam teraz:Przesyłanie pliku Laravel 4
Jeśli spojrzał na dokumentacji i znalazł tę funkcję: $file = Input::file('photo');
mam używany tej funkcji, a co treść $file
staje się instancją Symfony\Component\HttpFoundation\File\UploadedFile
, który, jako dokumentacji mówi nam: "rozszerza klasę PHP SplFileInfo i zapewnia wiele różnych metod interakcji z plikiem." http://laravel.com/docs/4.2/requests#files
Potem użyłem tej funkcji Input::file('photo')->move($destinationPath);
, która powinna, ale plik w wybranym folderze na serwerze. I tak się stało. Ale teraz pojawia się problem. Teraz wszystkie przesłane pliki mają nazwę pliku, na przykład phpgoJnLc
, i bez rozszerzenia.
Szukałem na funkcjach dostępnych SplFileInfo
i próbował getExtension
które dają mi pusty ciąg i getFilename
który również daje mi coś takiego phpgoJnLc
.
Potem rozejrzał się w internecie i znalazłem kilka części kodu z laravel 3, gdzie zrobili coś takiego:
$filename = Str::random(20) .'.'. File::extension(Input::file('photo.name'));
Ale efekt tego jest mi dać tylko wynik z Str::random(20)
, po którym następuje kropka. Ponownie, bez rozszerzenia pliku.
Co więc robię źle? Jak przesłać plik za pomocą Laravel 4?
Ty, mój przyjacielu, właśnie uratowałeś mój dzień! Jak tego nie widziałem ...? Dziękuję Ci bardzo! – Crinsane