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路径的主要内容,如果未能解决你的问题,请参考以下文章