PHP文件下载路径太长了

时间:2016-08-21 15:51:36

标签: php url youtube-dl

所以我的问题是我的文件的url在我的php脚本中太长了。

目前我的档案路径是:

website.tld/var/www/vhosts/my_hostname/website/page/downloads/file.mp3

但是我想缩短它,以便它从我的网站目录开始,它是一个工作网址。

website.tld/page/downloads/file.mp3

创建该路径的代码是:

 echo "<td><a href=\"".$file->get_downloads_folder().'/'.$f["name"]."\" download > ".$f["name"]."</a></td>";

$ file从此函数中获取其值:

 public function get_downloads_folder()
    {
            $path =  $this->config["outputFolder"];
            if(strpos($path , "/") !== 0)
            {
                    $path = dirname(__DIR__).'/' . $path;
            }
            return $path;
    }

这是来自GitHub项目Youtube-dl-WebUI(code here(function here)的代码,但它对我不起作用。

我已经读过你可以删除你不需要的字符串部分,但我不知道如何实现它,因为我之前从未使用过php。

3 个答案:

答案 0 :(得分:1)

路径和网址之间存在差异。创建链接时,您应该使用URL的简短格式,基本上是:

echo "<td><a href=\"".$file->config["outputFolder"].'/'.$f["name"]."\" download > ".$f["name"]."</a></td>";

如果配置是私有的,您可能需要创建一个getter。

但在内部你仍然应该使用完整路径,这似乎是正确实现的。

答案 1 :(得分:0)

我想你试着在Window下载,阅读更多:)

Why does the 260 character path length limit exist in Windows?

将您的网络根目录更短或使用VMware在ubuntu中设置您的服务:)...

答案 2 :(得分:0)

问题是输出是下载目录的完整路径,但我需要的唯一部分是确切的目录。

而不是现在由$ file给出的“/ var / www / vhosts / my_hostname / website / page / downloads /”,它只提供“下载”来构建网址。

现在它正在运作。