我正在尝试使用内置的Laravel函数上传一些照片并处理它们。但是,我无论如何都无法正确地完成这项工作。我已经能够实际上传一些内容,但是遇到了一些问题。这是我现在拥有的代码:
如果查看了文档,并找到了这个函数:
我查看了
然后我在互联网上找到了一些Laravel 3的代码片段,他们做了这样的事情:
那么,我做错了什么?如何使用Laravel 4上传文件?
如果查看了文档,并找到了这个函数:
$file = Input::file('photo');
我使用了这个函数,$file
的内容变成了Symfony\Component\HttpFoundation\File\UploadedFile
的一个实例,正如文档所说,“扩展了PHP SplFileInfo类并提供了各种与文件交互的方法。” http://laravel.com/docs/4.2/requests#files
然后我使用了这个函数Input::file('photo')->move($destinationPath);
应该将文件放在服务器上所需的文件夹中。它确实做到了。但是现在出现了问题。现在所有上传的文件都有像phpgoJnLc
这样的文件名,并且没有扩展名。我查看了
SplFileInfo
提供的函数,并尝试使用getExtension
,但它返回一个空字符串,getFilename
也只返回像phpgoJnLc
这样的东西。然后我在互联网上找到了一些Laravel 3的代码片段,他们做了这样的事情:
$filename = Str::random(20) .'.'. File::extension(Input::file('photo.name'));
但是这个结果只给我Str::random(20)
的结果加上一个点。同样,没有文件扩展名。那么,我做错了什么?如何使用Laravel 4上传文件?