Laravel 5.x - проблема с загрузкой изображения и загрузкой или перемещением файла на виртуальном хостинге - PullRequest
0 голосов
/ 11 ноября 2019

Я следил за этой веткой

Но, пока этого недостаточно, чтобы решить мои проблемы, я хочу попросить лучшую практику или решение для этой проблемы.

это мой код контроллера:

  if($request->hasfile('news_photo_url'))
    {

           $image = $request->file('news_photo_url');
           $name=$image->getClientOriginalName();
           $image_path = public_path().'\\img\\news';
           $image_path_to_db = '\\img\\news\\'.$name;
           $image->move($image_path,$name);
    }

и вот как я загружаю изображение,

<img src="{{ asset($news->news_photo_url) }}" alt="">

, и это прекрасно для моего локального,

но в cpanel общего хостинга все по-другому, мое приложение находится здесь

home/laravel/

, а мой общедоступный (index.php) находится здесь

home/public_html/name/

как это работаетправильно?

, так как добавление этой строки кода также не работает,

$app->bind('path.public', function() {return __DIR__; });

, поскольку это просто говорит общественности, что здесь, но путь хранится в БД и будет другим

http://xxx.xxx.com/home/user/public_html/afe1f78ef6233580f2739a69be00027f.jpg

спасибо, прежде чем

1 Ответ

0 голосов
/ 12 ноября 2019

Я думаю, что вы можете изменить местоположение своих активов, изменив файл app.php, или я думаю, что еще лучше добавив переменную в ваш .env, чтобы установить местоположение ваших активов в зависимости от того, отличаются ли они локально и от производства.

app.php

'asset_url' => env('ASSET_URL', null),

или

.env

ASSET_URL=path/to/folder
...