- ファイルのアップロード: ユーザーがファイルをアップロードしたい場合、まずフォームを作成します。以下は、フォームの例です。
<form action="/upload" method="POST" enctype="multipart/form-data">
@csrf
<input type="file" name="file">
<button type="submit">アップロード</button>
</form>
次に、アップロードされたファイルを保存するためのルートとコントローラーを作成します。
// web.php
Route::post('/upload', 'UploadController@upload');
// UploadController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
class UploadController extends Controller
{
public function upload(Request $request)
{
if ($request->hasFile('file')) {
$path = $request->file('file')->store('public');
// 保存されたファイルのパスを取得
$url = Storage::url($path);
return "ファイルがアップロードされました: <a href=\"$url\">$url</a>";
}
return 'ファイルが選択されていません。';
}
}
- ファイルの表示: パブリックストレージに保存されたファイルは、URLを通じてアクセスすることができます。例えば、保存された画像を表示する場合は、次のようにします。
<img src="{{ asset('storage/ファイル名') }}" alt="ファイル名">
- ファイルの削除:
不要なファイルを削除する場合は、
Storage
ファサードを使用します。
use Illuminate\Support\Facades\Storage;
Storage::delete('public/ファイル名');
これらの例を参考にして、Laravelでのパブリックストレージの使用方法を理解し、自身のアプリケーションに適用してみてください。