ホームページ  >  記事  >  PHPフレームワーク  >  laravelシステムに付属しているファイルアップロード機能

laravelシステムに付属しているファイルアップロード機能

藏色散人
藏色散人転載
2020-10-10 15:06:022675ブラウズ

次のLaravelのチュートリアルコラムでは、laravelシステムに付属しているファイルアップロード機能を紹介しますので、困っている友人の役に立てれば幸いです。

laravelシステムに付属しているファイルアップロード機能

ファイルをアップロードする機能については、言うのは難しいのですが、実際にはすべてカプセル化されているので、それほど難しいことではありません。言うのは難しいことではありませんが、さまざまな構成が時々頭を悩ませることがあります。今日はlaravelのアップロード機能の導入についてお話します。

コマンドを直接呼び出して、composer から laravel フレームワークをダウンロードし、blog という名前を付けます (これはカジュアルです)

ファイル blog->config->filesystems.php を入力します。ディスク構成があります。


ディスク構成アイテムの合計呼び出しについて簡単に説明します。これは後で使用します。パブリック呼び出しメソッドと考えると簡単に理解できます。プロジェクトにはさまざまな保存方法や保存場所が存在する可能性があるため、

    local は小さな構成項目の 1 つを表します。ローカル、パブリック、およびs3 はすべて異なる保存方法を表します。
  • driver は、local がローカル プロジェクト内のストレージを表すのと同様に、ストレージの場所を表します。 s3 は Amazon に保存されているディスクの場所です。他にもたくさんあるかもしれません。その時点で、これら 3 つのデモ モードに従って作成を続けることができます。
  • これらは通常、プロジェクト自体に保存されているため、削除しますs3 以下で説明します。
  • root は、ファイルが保存されている場所を表します。 「app/public」は、ファイルが blog->storage->app->public に保存されていることを意味します。 「app/public」は任意に変更可能です。
  • 通常は 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。