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扩展;然后重新启动服务器;





posted on 2016-10-19 10:31  如果蜗牛有爱情  阅读(513)  评论(0编辑  收藏  举报

导航