[Laravel5.2教程配套图文资料]文件上传方法

客户端

<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="myfile">
    <input type="submit" name="submit" value="Submit">
</form>






提交到服务器
$file = Input::file('myflie');
if($file -> isValid()){
    //检验一下上传的文件是否有效
    $clientName = $file -> getClientOriginalName(); //获取文件名称
    $tmpName = $file -> getFileName();  //缓存tmp文件夹中的文件名,例如 php9372.tmp 这种类型的
    $realPath = $file -> getRealPath();  //这个表示的缓存在tmp文件夹下的文件的绝对路径,例如我的是:D:\wamp\tmp\php9372.tmp
    $entension = $file -> getClientOriginalExtension();  //上传文件的后缀
    $mimeTye = $file -> getMimeType();  //大家对MimeType应该不陌生了,我得到的结果是 image/jpeg
    $path = $file -> move('storage/uploads');
    /**
    * 如果你是这样写的话,默认会放置在我们 public/storage/uploads/ph1905.tmp
    * 貌似不是我们希望的,如果我们希望将其放置在app目录下的storage目录下的uploads目录中,并且需要更改的话...
    *
    */
    $path = $file -> move(app_path().'/storage/uploads',$newName);
    /**
    * 这里 app_path() 就是app文件夹所在的路径,$newName 可以是你通过某种算法获得的文件名称,主要是不能重复产生冲突即可,
    * 比如 $newName = md5(date('ymdhis).$ClientName).'.'.$extension;
    * 利用日期和客户端文件名结合,使用md5算法加密得到结果,不要忘记在后面加上文件原始的扩展名
    */
}

猜你喜欢

转载自blog.csdn.net/qq_37910492/article/details/69668431