>  기사  >  PHP 프레임워크  >  laravel 시스템에 포함된 파일 업로드 기능

laravel 시스템에 포함된 파일 업로드 기능

藏色散人
藏色散人앞으로
2020-10-10 15:06:022682검색

다음 튜토리얼 칼럼인 Laravel에서는 laravel 시스템과 함께 제공되는 파일 업로드 기능을 소개하겠습니다. 필요한 친구들에게 도움이 되길 바랍니다!

laravel 시스템에 포함된 파일 업로드 기능

파일업로드 기능은 뭐라 말하긴 어렵지만 사실 다 패키지로 되어있어서 정말 어렵지 않아요. 말하기는 어렵지 않습니다. 다양한 구성이 사람들에게 때때로 골치 아픈 일이 될 수 있다는 것입니다. 오늘은 라라벨의 업로드 기능 소개에 대해 이야기해보겠습니다.

Composer에서 laravel 프레임워크를 다운로드하는 명령을 직접 호출하고 이름을 blog로 지정합니다(캐쥬얼).

디스크 구성이 포함된 blog->config->filesystems.php 파일을 입력합니다.

​​

나중에 사용될

  • 디스크 구성 항목 전체 호출에 대해 간략히 설명해주세요. 공개 호출 방식이라고 생각하시면 이해하기 쉽습니다.
  • local은 프로젝트에 다양한 저장 방법이나 저장 위치가 있을 수 있으므로 local, public, s3 모두를 나타내기 때문에 작은 구성 항목 중 하나를 나타냅니다. 다양한 보관 방법.
  • driver는 저장 위치를 ​​의미하며, local은 로컬 프로젝트에 저장된다는 의미입니다. s3은 Amazon에 저장된 디스크 위치이며, 더 많을 수 있습니다. 그러면 이 세 가지 데모 모드에 따라 계속 생성할 수 있습니다
  • 일반적으로 프로젝트 자체에 저장되므로 아래에서 s3에 대한 설명을 제거하겠습니다.
  • root는 파일이 저장된 위치를 나타냅니다. '앱/공개'는 파일이 블로그->스토리지->앱->공개에 저장된다는 의미입니다. 'app/public''은 마음대로 변경할 수 있습니다.
  • 일반적으로 두 로컬 구성과 같습니다.

구성이 완료되면 이제 코드 블록을 수행할 차례입니다. 코드 블록은 매우 간단합니다.

  1. 경로를 만들고 경로를 직접 정의하세요(설명할 필요 없음)
  2. 경로에 해당하는 메서드를 작성하고 메서드에 코드 작성을 시작하세요.

프론트엔드 코드

<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>

코드의 빨간색 부분을 추가해야 합니다. 추가하지 않으면 다음 php 문에서 코드 검증이 불가능합니다

백엔드 코드입니다.

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;);
    }

내가 실수해서 여러분을 웃게 만들까봐 편집자가 타이핑을 하고 있습니다. 드디어 파일이 성공적으로 업로드되었습니다.

​​​​​

위 내용은 laravel 시스템에 포함된 파일 업로드 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제