Heim >PHP-Framework >Laravel >Die Datei-Upload-Funktion, die im Laravel-System enthalten ist

Die Datei-Upload-Funktion, die im Laravel-System enthalten ist

藏色散人
藏色散人nach vorne
2020-10-10 15:06:022735Durchsuche

Die folgende Tutorial-Kolumne von Laravel stellt Ihnen die Datei-Upload-Funktion vor, die mit dem Laravel-System einhergeht. Ich hoffe, dass sie Freunden, die sie benötigen, hilfreich sein wird!

Die Datei-Upload-Funktion, die im Laravel-System enthalten ist

Was die Funktion des Hochladens von Dateien angeht, ist es schwierig, sie tatsächlich zu sagen, es ist also wirklich nicht schwierig. Es ist nicht schwer zu sagen, dass verschiedene Konfigurationen manchmal wirklich Kopfschmerzen bereiten können. Lassen Sie uns heute über die Einführung der Upload-Funktion von Laravel sprechen.

Rufen Sie den Befehl direkt auf, um ein Laravel-Framework vom Composer herunterzuladen, und nennen Sie es Blog (das ist locker).

Geben Sie die Datei blog->config->filesystems.php ein, die eine Festplattenkonfiguration enthält.

​​

Erläutern Sie kurz den Gesamtaufruf der

  • Festplattenkonfigurationselemente, die später verwendet werden. Sie können es sich als eine öffentliche Aufrufmethode vorstellen, die leicht zu verstehen ist.
  • local stellt eines der kleinen Konfigurationselemente dar, da es in einem Projekt viele verschiedene Speichermethoden oder Speicherorte geben kann, lokal, öffentlich, s3 verschiedene Speichermethoden.
  • Treiber bedeutet den Speicherort, lokal bedeutet, dass er im lokalen Projekt gespeichert ist. s3 ist ein in Amazon gespeicherter Festplattenspeicherort, und es kann noch viele weitere geben. Dann können wir mit der Erstellung gemäß diesen drei Demo-Modi fortfahren
  • Da sie im Allgemeinen im Projekt selbst gespeichert sind, werden wir die Erklärung von s3 unten entfernen.
  • root stellt den Speicherort dar, an dem die Datei gespeichert ist. „app/public“ bedeutet, dass die Dateien unter blog->storage->app->public gespeichert werden. „app/public“ kann nach Belieben geändert werden.
  • Normalerweise genau wie die beiden lokalen Konfigurationen.

Nachdem die Konfiguration abgeschlossen ist, ist es Zeit für den Codeblock. Codeblöcke sind recht einfach.

  1. Erstellen Sie eine Route, definieren Sie die Route einfach selbst (keine Erklärung erforderlich)
  2. Schreiben Sie die der Route entsprechende Methode und beginnen Sie mit dem Schreiben von Code in die Methode.

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>

Der rote Teil des Codes muss hinzugefügt werden, kann die Codeüberprüfung in der folgenden PHP-Anweisung nicht durchgeführt werden

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

Der Redakteur tippt, während ich es tue, aus Angst, dass ich es falsch schreibe und Sie zum Lachen bringe. Schließlich wurde die Datei erfolgreich hochgeladen.

​​​​​

Das obige ist der detaillierte Inhalt vonDie Datei-Upload-Funktion, die im Laravel-System enthalten ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen