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

05-15 23:19