laravel之文件上传
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扩展;然后重新启动服务器;