所以我的问题是我的文件的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。
答案 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 /”,它只提供“下载”来构建网址。
现在它正在运作。