laravel框架中的文件上传我们应该如何实现此功能呢?
之前也是没有使用过laravel的文件上传功能,后来在网上找到一些教程,五花八门。让我看起来有点头疼。
有时候找到测试浪费好长时间最后还是出不来效果。
后来我决定还是自己写一个关于laravel文件上传的demo。
让刚开始接触laravel的同学们一起来学习一下;
好了, 多余的话也不说了 ,我直接上demo了;
客户端的demo如下:
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="myfile" />
<input type="submit" name="submit" value="Submit" />
</form>
服务器端demo
$file = Input::file('myfile');
if($file -> isValid()){
//检验一下上传的文件是否有效.
$clientName = $file -> getClientOriginalName();//客户端文件名称..
$tmpName = $file ->getFileName();
$realPath = $file -> getRealPath();
$entension = $file -> getClientOriginalExtension(); //上传文件的后缀.
$mimeTye = file -> getMimeType();//大家对mimeType应该不陌生了. 我得到的结果是 image/jpeg.
$path = $file -> move('storage/uploads');
//如果你这样写的话,默认是会放置在 我们 public/storage/uploads/php79DB.tmp
$path = $file -> move(app_path().'/storage/uploads',$newName);
//这里app_path()就是app文件夹所在的路径.$newName 可以是你通过某种算法获得的文件的名称.主要是不能重复产生冲突即可.比如使用组合算法;
//比如 $newName = md5(date('ymdhis').$clientName).".".$extension;
}
php5.3之后的版本我们是要开启php的一个扩展。开启extension=php_fileinfo.dll扩展;然后重新启动服务器;