\Storage::disk('verify_files')->put('verify-' . $fileCode[3], $fileCode[0]);
$attach = \Storage::get(storage_path('app/public/verify') . '/' . 'verify-' . $fileCode[3]);
Я использую приведенный выше код для генерации и получения файла.
Вот файловая система, которую я использую:
'verify_files' => [
'driver' => 'local',
'root' => storage_path('app/public/verify'),
'visibility' => 'public',
],
Когда я проверяю это с помощью file_exists (), он возвращает true, но laravel возвращает FileNotFoundException in FilesystemAdapter.php line 61:
Я что-то здесь упускаю?
get
Метод хранения фасада автоматически заглянет в каталог диска по умолчанию. В этом случае вы передаете абсолютный путь к файлу, используя storage_path
, который является избыточным, потому что он будет смотреть внутрь storage/app
каталог как есть.
Вместо этого делай Storage::disk('verify_files')->get('verify-' . $fileCode[3])
;
использование storage_path
когда вам нужны абсолютные пути к файлам и каталогам.
Я получил ту же ошибку, что и вы, за исключением того, что я использовал другой метод для вас:
$parse = new Parsedown();
$url = url('about.md'); // This would fail, because it returns absolute
$url = 'about.md'; // the file is living in the root directory of public. This would succeed, because it's relative
try { // catch file not found errors
$about = File::get($url);
} catch (Illuminate\Filesystem\FileNotFoundException $exception) {
die ('Bad File');
}
echo $parse->text($about);
Это произошло от комбинации эта страница и когда @SArnab выше упомянул о пути, не обязательно быть абсолютным.
Кроме того, что я использовал другой метод, единственной проблемой, с которой я столкнулся раньше, было то, что я использовал абсолютный путь, а не относительный, который я использую сейчас.
Я просто подумал, что добавлю этот альтернативный метод для получения содержимого файла в Laravel 5.2.
Наслаждайтесь!