Laravel函数将realpath()转换为绝对URL

时间:2015-12-27 02:55:20

标签: php laravel laravel-5 laravel-5.1

我已经声明了一个指向这样一个文件夹的路径:

[Microsoft.ConfigurationManagement.ApplicationManagement.Serialization.SccmSerializer]::DeserializeFromString()

这给了我这个价值:$path = realpath(public_path('uploads'));

现在,我想将其转换为绝对网址,如下所示:/var/www/mywebsite/public/uploads

这是我做的:

http://www.mywebsite.com/uploads

在Laravel 5中是否有预先建立的方法来实现这一目标?

2 个答案:

答案 0 :(得分:2)

你几乎在asset($path)

只需将其修改为asset('uploads')即可解析为http://www.mywebsite.com/uploads

资产URL帮助程序生成Laravel应用程序的公用文件夹的URL。然后,您只需从那里添加要转到的文件夹。

答案 1 :(得分:0)

您的$path相对于public public_path('uploads')文件夹,因此,'uploads'本身指向绝对路径。只需添加主机部分即可。像:

$inPublic = 'uploads';
$localPath = realpath(public_path($inPublic));

// then, either
$url = url("/" . trim($inPublic, "/\\"));    

// or
$publicPath = realpath(public_path());
$relativePart = str_replace($publicPath, '', $localPath);
$url = url("/" . trim($relativePart, "/\\"));