Home > PHP Framework > Laravel > The file upload function that comes with laravel system

The file upload function that comes with laravel system

藏色散人
Release: 2020-10-10 15:06:02
forward
2731 people have browsed it

The following tutorial column of Laravel will introduce to you the file upload function that comes with the laravel system. I hope it will be helpful to friends in need!

The file upload function that comes with laravel system

As for the function of uploading files, it is difficult to say it. In fact, it is all encapsulated, so it is really not difficult. It’s not difficult to say, various configurations can really give people a headache sometimes. Today, let’s talk about the introduction of laravel’s upload function.

Directly call the command to download a laravel framework from composer, name it blog (this is casual)

Enter the file blog->config->filesystems.php, There is a disk configuration.


Briefly explain the total call of the

  • disk configuration item, which will be used later. It can be easily understood by thinking of it as a public calling method.
  • local represents one of the small configuration items, because there may be many different storage methods or storage locations in a project. Local, public, and s3 all represent different storage methods.
  • driver represents the storage location, like local represents storage in the local project. s3 is a disk location stored in Amazon. There may be many more. At that time, we can continue to create according to these three demo modes.
  • Because they are usually stored in the project itself, we will remove s3 below. explain.
  • root represents the location where the file is stored. ‘app/public’ means that the files are stored under blog->storage->app->public. ''app/public'' can be changed at will.
  • Normally just like the two local configurations.

After configuring, it’s time to get to the code block. Code blocks are quite simple.

  1. Create a route, just define the route yourself (no need to explain this)
  2. Write the method corresponding to the route, and start writing code in the method.

Front-end code

<p class="container">
    <p class="panel-heading">上传文件</p>
    <form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
        {{ csrf_field() }}           
        <label for="file">选择文件</label>
        <input id="file" type="file" class="form-control" name="source" required>    
        <button type="submit" class="btn btn-primary">确定</button>
    </form>
</p>
Copy after login

The red part of the code must be added. If not, the following Code verification in php statements cannot be achieved

Back-end code

3

public function upload(Request $request){
    	if ($request->isMethod(&#39;POST&#39;)) { //判断是否是POST上传,应该不会有人用get吧,恩,不会的

    		//在源生的php代码中是使用$_FILE来查看上传文件的属性
    		//但是在laravel里面有更好的封装好的方法,就是下面这个
    		//显示的属性更多
    		$fileCharater = $request->file(&#39;source&#39;);

    		if ($fileCharater->isValid()) { //括号里面的是必须加的哦
    			//如果括号里面的不加上的话,下面的方法也无法调用的

    			//获取文件的扩展名 
    			$ext = $fileCharater->getClientOriginalExtension();

    			//获取文件的绝对路径
    			$path = $fileCharater->getRealPath();

    			//定义文件名
    			$filename = date(&#39;Y-m-d-h-i-s&#39;).&#39;.&#39;.$ext;

    			//存储文件。disk里面的public。总的来说,就是调用disk模块里的public配置
    			Storage::disk(&#39;public&#39;)->put($filename, file_get_contents($path));
    		}
    	}
    	return view(&#39;upload&#39;);
    }
Copy after login

The editor is I was typing while I was working on it, for fear that I would make a mistake and make you laugh. Finally, the file was uploaded successfully.

       

The above is the detailed content of The file upload function that comes with laravel system. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template