Laravel ファイル読み書き
$request
public function update(Request $request)
{
Log::info($request);
画像のアップロード内容
array (
’name’ => ‘~’,
Illuminate\Http\UploadedFile::__set_state(array(
‘test’ => false,
‘originalName’ => ‘test.png’,
‘mimeType’ => ‘image/png’,
‘error’ => 0,
‘hashName’ => NULL,
)),
’prescription2′ =>
)
$form = $request->all();
if ($request->file(‘prescription1’)->isValid()){
画像保存
$path = $request->file(‘test’)->move(‘storage/test’, “test.png”);
$form[‘prescription1’] = basename($path);
}
$this->Reservation->fill($form)->save();
}
Storage
メソッド一覧
メソッド | 機能 | 備考 |
---|---|---|
get('laravel.txt' ) |
ファイルを取得 | |
put('laravel.txt' , $fileContent) |
ファイルを作成、上書き | |
putFile(PATH, $file) | 指定したPATHにファイルを保存 | 名前は一意のID |
putFileAs(PATH, $file, 'laravel.txt' ) |
指定したPATHにlaravel.txtという名前のファイルを保存 | |
exists('laravel.txt' ) |
ファイルが存在するかチェック | あればtrue |
copy('laravel.txt' , 'new_laravel.txt' ) |
ファイルコピー | |
move('laravel.txt, |
ファイル移動 | |
delete('laravel.txt' ) |
ファイル削除 | |
makeDirectory('laravel_dir' ) |
ディレクトリ作成 | |
deleteDirectory('laravel_dir' ) |
ディレクトリ削除 | |
path('laravel.txt' ) |
ファイルのフルパス表示 | ファイル名をfalseにするとrootパスが表示 |
例
use Illuminate\Support\Facades\Storage;
新規作成、上書き保存
Storage::disk(ドライバ名)->put(ファイル名, ファイルに書き込む文字列);
Storage::disk('local')->put('file.txt', 'Contents');
保存結果
プロジェクトディレクトリ
└app
└Http
└config
└database
└public
└strage strage/app/publicへのシンボリックリンク(ビューからの参照先)
└resources
└routes
└strage
└app
└public
└test
└test.png ←保存先
└logs
ビュー
<img src="{{ asset('storage/test/test.png') }}">
ビューファイルで参照できるのはプロジェクトディレクトリ配下のpublicのみ
publicディレクトリに/storage/app/public/へのシンボリックリンクを作成しておく
php artisan storage:link;
ファイルシステム設定
※config\filesystems.php
「Laravel 設定ファイル\filesystems.php」参照