【问题标题】:Laravel Access the public folder of other Laravel ProjectLaravel 访问其他 Laravel 项目的公用文件夹
【发布时间】:2021-05-30 17:18:21
【问题描述】:

我正在尝试在 Laravel 中为同样在 Laravel 中的实时网站构建管理面板。我想访问另一个 Laravel 项目的公用文件夹。

我试过这段代码:

public static function CustomerPublic(string $string)
    {
        if(env('APP_ENV')=='local'){
            return __DIR__.'/custom_dir/'.$string; 
        }
    }

我面临的问题:它以类似根目录的方式启动文件 127.0.0.1

我正在寻找一种从当前项目访问另一个 laravel 项目目录的方法。

编辑: 我的目录结构

return __DIR__.'/../../../web_vue/public/'.$string;

我得到的结果:

http://127.0.0.1:8000/media/alihyder/7E74636D746326DD/Projects/PatientCare/web_vue/public/uploads/images/banner_1.jpg   

我想要的结果:

file:///media/alihyder/7E74636D746326DD/Projects/PatientCare/web_vue/public/uploads/images/banner_1.jpg

【问题讨论】:

  • 你的文件夹结构是什么?把屏幕截图都 r 在同一个? dir 喜欢 oneprojectanothproject ?
  • 是的,两个项目都在一个文件夹中,例如 adminapnel 和 usersite
  • oneproject这个项目试试这个base_path('../adminapnel/public')
  • 它也以 127.0.0.1 领先
  • 哦,你需要资产url 而不是path,因为你需要在.env 中添加新密钥,比如OTHER_URL=http://your project name,然后你需要使用return env('OTHER_URL').'/custom_dir/'.$string;

标签: php laravel laravel-5 directory


【解决方案1】:

您可以在 .env 文件中定义自定义变量 例如:

CUSTOM_URL=https://admin.somewebsite.com

然后使用该网址:

env("CUSTOM_URL")

【讨论】:

  • 如何将文件上传到该目录?就像我想在该公用文件夹上应用 crud 操作一样。
  • 好吧,如果你想在两个项目上使用相同的数据库记录,那么在.env 配置中为两个项目设置相同的mysql配置,如果你想在其他项目上使用媒体内容,然后将图像存储在像/storage/uploads/image.jpeg 这样的数据库而不是https://admin.somethig.com/storage/uploads/image.jpeg 然后在你的其他项目中你可以像{{env('CUSTOM_URL').$product->image}} 这样的东西访问它。
  • CRUD 可以从两端应用。像用户也可以编辑/删除公共/上传文件夹文件,管理员也可以编辑/删除公共/上传文件夹文件
【解决方案2】:
APP_URL=http://your project name 

添加 .env 文件

【讨论】:

  • 如何将文件上传到该目录?就像我想在该公用文件夹上应用 crud 操作一样。
  • DocumentRoot /var/www/html/你的项目名称/public
  • 在你的目录中添加这个路径
  • 不工作。我试过你可以检查我的编辑问题。
【解决方案3】:

因为您需要其他项目的 url 而不是 path

你需要在.env创建新的url

喜欢

OTHER_URL=http://your project name

然后

public static function CustomerPublic(string $string)
{
  if(env('APP_ENV')=='local'){
     return env('OTHER_URL').'/custom_dir/'.$string; 
  }
}  

【讨论】:

  • public_path 只访问当前项目的公用文件夹 我想访问另一个项目中的文件夹
  • 那么你需要根据你的文件夹结构生成文件夹路径你能告诉我这样我可以为你写代码
【解决方案4】:

cd /etc/apache2/sites-available/ 终端上的命令类型

sudo cp 000-default.conf laravelproject.com.conf

sudo nano local-laravel-master.com.conf

打开屏幕后添加所有主机名

服务器名称www.local-laravelproject.com 服务器别名www.local-laravelmaster.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html/laravel-master/public

【讨论】:

    猜你喜欢
    • 2014-07-18
    • 1970-01-01
    • 2013-06-03
    • 2017-03-23
    • 1970-01-01
    • 2021-03-21
    • 2015-01-18
    • 2016-06-07
    • 2017-01-23
    相关资源
    最近更新 更多