Cri*_*ane 7 php file-upload laravel laravel-4
我正在尝试上传一些照片并使用Laravel功能构建来处理这些照片.但我不能为我的生活弄清楚如何正确地做到这一点.我已经能够实际上传一些内容,但我遇到了一些问题.这是我现在的代码:
如果查看文档,并找到了这个函数:$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上传文件?
Wri*_*ken 18
查看同一个类文件,我看到一个getClientOriginalName()函数......
$file = Input::file('photo');
$file->move($destinationPath,$file->getClientOriginalName());
Run Code Online (Sandbox Code Playgroud)
... as ssuming你想要保留客户设置的原始名称......这可能是危险的,对它进行一些安全检查将是我的建议.只获取扩展名->getClientOriginalExtension(),因此您也可以只保存该部分并在该move()函数的第二个参数之前添加一个随机字符串.
| 归档时间: |
|
| 查看次数: |
19547 次 |
| 最近记录: |