Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Помогите разобраться, уже бомбить начинает. (я еще ток учусь)
Сам, ручками, загружаю файлы сюда:
public/images/folder/qqq
Хочу загружать изображение на Локальный сервер (vagrant) с помощью Storage в эту же директорию.
(знаю документации в сети полно, но от них яснее не стало. форум тоже гуглил)
Опишу по порядку че делал:
1) зашел в папку с проектом. прогнал команду
php artisan storage:link
-- внутри папки public появился линк storage
2) в контроллере подрубаю
use Illuminate\Support\Facades\Storage;
// use File;
3) в методе проверяю $request
dd($request->file('file'));
UploadedFile {#888 ▼
-test: false
-originalName: "Снимок экрана от 2018-03-13 10-10-14.png"
-mimeType: "image/png"
-size: 160321
-error: 0
#hashName: null
path: "/tmp"
filename: "phpqecq7O"
basename: "phpqecq7O"
pathname: "/tmp/phpqecq7O"
extension: ""
realPath: "/tmp/phpqecq7O"
aTime: 2018-04-06 11:53:14
mTime: 2018-04-06 11:53:14
cTime: 2018-04-06 11:53:14
inode: 2235195
size: 160321
perms: 0100600
owner: 1000
group: 1000
type: "file"
writable: true
readable: true
executable: false
file: true
dir: false
link: false
}
4) настройки конфига не трогал (config/filesystems.php)
'default' => env('FILESYSTEM_DRIVER', 'local'),
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_KEY'),
'secret' => env('AWS_SECRET'),
'region' => env('AWS_REGION'),
'bucket' => env('AWS_BUCKET'),
],
],
________________________
если делать
Storage::put('images/folder/qqq', file_get_contents($request->file('file')->getRealPath()));
, то ругается
"file_put_contents(/home/vagrant/Code/corporate.loc/storage/app/images/folder/qqq): failed to open stream: Is a directory"
напомню. мой путь вот такой:
public/images/folder/qqq
---------------------
и из документации пример не понятен: https://laravel.ru/docs/v5/filesystem
Storage::disk('local')->put('file.txt', 'Contents');
в первый параметр, так понимаю, подаем файл $request->file('file'). что такое 'Contents' вторым параметром??
---------------------
Не в сети
Storage::put('images/folder/qqq/myfilename.txt', file_get_contents($request->file('file')->getRealPath()));
Ну и UploadFile можно просто через ->move сохранять.
Изменено covobo (06.04.2018 15:43:05)
Не в сети
приведенный код пробовал - ничего не происходит. ошибок нет и файл в папке не появился.
П.С. мля.. еле заметил. все сохраняется в папку corporate.loc/storage/app/images .......
а я в паблике ищу)
да.. и перемещение файлов можно делать мувам https://laravel.ru/forum/viewtopic.php?id=3412
Изменено sam (06.04.2018 17:08:14)
Не в сети
Страницы 1