概要
ファイルの入出力が必要なシステムを実装していると、メモリ不足対策などで一時保存用処理でフルパスが必要な場合があります。
そのときに役に立つのがstorage_path
メソッドです。
実行するとLaravelディレクトリ直下の storage
ディレクトリのフルパスを返します。
文字列を引数にすると、渡された文字列をサブディレクトリとして、連結したものを返します。
実行例
// /path/to/laravel-route/storage を出力
echo storage_path();
// /path/to/laravel-route/storage/tmp_data を出力
echo storage_path('tmp_data');
// tmp_data ディレクトリが未作成の場合、mkdirメソッドで権限のゆるいディレクトリを作成する
if (!file_exists($tmp_file_dir = storage_path('tmp_data'))) {
mkdir($tmp_file_dir, 0777, true);
}
storage_path メソッドで取得したフルパスは、SplFileObject
やfopen()
、mkdir()
等ファイルの操作系を利用する際に使えます。