如何从laravel上的不同项目获取图像?

时间:2017-06-15 08:51:33

标签: php laravel environment-variables laravel-5.3 assets

我有两个项目或网址

第一个网址是这样的:

http://myshop.dev/

第二个网址是这样的:

http://backend.myshop.dev/

如果第二个网址,我运行:

<img src="{{ asset('img/$photo }}"/>

它将调用url:

http://backend.myshop.dev/img/image1.jpg

它不符合我的需要

我想在第一个网址(http://myshop.dev/img/image1.jpg

中拍摄图片

两个项目都使用相同的数据库

我该怎么做?

3 个答案:

答案 0 :(得分:3)

Add this to your .env

BACKEND_URL=http://backend.myshop.dev/public/

Call

<img src="{{ env('BACKEND_URL') . "{img/$photo}"}}"/>

答案 1 :(得分:0)

你可以将图像存储在图像托管服务上,我的谷歌就是它。

如果您使用的是其他服务器,则可以使用Rsync自动将所有上传的图像复制到第二台服务器Checkout how to use rsync

如果您使用单个服务器来托管两个URI,那么您可以使用公共文件夹并从公共文件夹中获取图像。

答案 2 :(得分:0)

You could write a helper for assets like that:

So instead of:

<img src="{{ asset('img/$photo }}"/>

you should write

<img src="{{ myshop_asset('img/$photo }}"/>

in your helper.php:

if (!function_exists('myshop_asset')) {
    function myshop_asset($path)
    {
        $myshop_path = 'http://myshop.dev';//or read a config variable

        return rtrim($myshop_path) .'/'. ltrim($path, '/');
    }
}