laravel怎么获取到public路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel怎么获取到public路径相关的知识,希望对你有一定的参考价值。

参考技术A app_path()

app_path函数返回app目录的绝对路径:
$path = app_path();

你还可以使用app_path函数为相对于app目录的给定文件生成绝对路径:
$path = app_path('Http/Controllers/Controller.php');

base_path()

base_path函数返回项目根目录的绝对路径:
$path = base_path();

你还可以使用base_path函数为相对于应用目录的给定文件生成绝对路径:
$path = base_path('vendor/bin');

config_path()

config_path函数返回应用配置目录的绝对路径:
$path = config_path();

database_path()

database_path函数返回应用数据库目录的绝对路径:
$path = database_path();

public_path()

public_path函数返回public目录的绝对路径:
$path = public_path();

storage_path()

storage_path函数返回storage目录的绝对路径:
$path = storage_path();

还可以使用storage_path函数生成相对于storage目录的给定文件的绝对路径:
$path = storage_path('app/file.txt');

获取laravel项目的路径的内置帮助函数基本都在这了本回答被提问者采纳
参考技术B public_path() 才是public路径。

如何在 Laravel 中更改默认路径“/public”名称

【中文标题】如何在 Laravel 中更改默认路径“/public”名称【英文标题】:How to changed default path '/public' name in Laravel 【发布时间】:2017-04-13 17:09:31 【问题描述】:

我的服务器使用 cPanel。这里的目录结构

laravel 项目 public_ftp public_html 公开 index.php

我跟随这个人部署在服务器上 https://github.com/petehouston/laravel-deploy-on-shared-hosting

一切正常,但我的基本路径是“mydomain.com/public” 我不想从我的路径中删除 /public 而是要更改它, 我想要这样的路径“mydomain.com/noticed”

我使用的是 laravel 5.3 版

有什么想法吗? 谢谢你

【问题讨论】:

【参考方案1】:

It was suggested 更改公共文件夹中的index.php

*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/

$app = require_once __DIR__.'/../bootstrap/app.php';

// set the public path to this directory
$app->bind('path.public', function() 
    return __DIR__;
);

现在你不需要改变你的公共路径,当你的公共 目录已更改。

Elixir 有一个硬编码的公共路径!不要忘记设置更改 Elixir 配置中的公共路径。

我可能会补充一点,您还需要确保您的新公共路径具有与默认路径相同的权限。您可能还想更改 config/filesystem.php 中的公共路径。

【讨论】:

我使用asset() 来包含来自js/css 的源代码,然后就全部消失了。我关注这个***.com/a/29716810/5071013 并将asset() 更改为elixir() 仍然不起作用 哦,我的 XAMMP 出了点问题,但生产工作还可以,谢谢 :D【参考方案2】:

在 laravel 5.6 中将此代码添加到 bootstrap/app.php :

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

其中 __DIR__.'/../' 是您的公用文件夹的路径

【讨论】:

以上是关于laravel怎么获取到public路径的主要内容,如果未能解决你的问题,请参考以下文章

laravel 怎么获取public路径

Laravel 从 /public 文件夹外的 ROOT 调用。获取 NotFoundHttpException

从资源文件夹中获取图像 - Laravel

我想自学laraver,请诸位前辈给一些建议,谢谢

Laravel安装-nginx配置文件修改

larave学习笔记1-安装配置