PHP 文件下载路径太长
PHP file download Path too long
所以我的 php 脚本中的文件 url 太长了。
目前我文件的路径是:
website.tld/var/www/vhosts/my_hostname/website/page/downloads/file.mp3
但我想缩短它,使其成为从我的网站目录开始的路径,并且它是一个有效的 url。
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 .
路径和URL有区别。当您创建 link 时,您应该使用 URL 的缩写形式,所以基本上:
echo "<td><a href=\"".$file->config["outputFolder"].'/'.$f["name"]."\" download > ".$f["name"]."</a></td>";
如果配置是私有的,您可能需要创建一个 getter。
但在内部您仍应使用完整路径,这似乎已正确实现。
我认为您尝试在 Window 中下载,阅读更多 :)
Why does the 260 character path length limit exist in Windows?
更改您的 Web 根目录以缩短或在 ubuntu 中使用 VMware 设置您的服务 :)...
问题是输出是下载目录的完整路径,但我唯一需要的部分是确切的目录。
而不是 $file 给出的 "/var/www/vhosts/my_hostname/website/page/downloads/" 现在它只给出 "downloads" 来构建 url.
现在可以使用了。
所以我的 php 脚本中的文件 url 太长了。
目前我文件的路径是:
website.tld/var/www/vhosts/my_hostname/website/page/downloads/file.mp3
但我想缩短它,使其成为从我的网站目录开始的路径,并且它是一个有效的 url。
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 .
路径和URL有区别。当您创建 link 时,您应该使用 URL 的缩写形式,所以基本上:
echo "<td><a href=\"".$file->config["outputFolder"].'/'.$f["name"]."\" download > ".$f["name"]."</a></td>";
如果配置是私有的,您可能需要创建一个 getter。
但在内部您仍应使用完整路径,这似乎已正确实现。
我认为您尝试在 Window 中下载,阅读更多 :)
Why does the 260 character path length limit exist in Windows?
更改您的 Web 根目录以缩短或在 ubuntu 中使用 VMware 设置您的服务 :)...
问题是输出是下载目录的完整路径,但我唯一需要的部分是确切的目录。
而不是 $file 给出的 "/var/www/vhosts/my_hostname/website/page/downloads/" 现在它只给出 "downloads" 来构建 url.
现在可以使用了。