url — PHP файл скачать слишком длинный путь

Поэтому у меня проблема в том, что URL моего файла слишком длинный в моем php-скрипте.

На данный момент путь моего файла:

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 (код здесь) (функция здесь) но это не работает для меня, как это.

Я читал, что вы можете удалить части строки, которые вам не нужны, но я понятия не имею, как мне это реализовать, потому что я никогда раньше не работал с php.

3

Решение

Существует разница между путем и URL. Когда вы создаете ссылку, вы должны использовать краткую форму для URL, поэтому в основном:

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

Вам может понадобиться создать геттер, если config является приватным.

Но внутренне вы все равно должны использовать полный путь, который, кажется, реализован правильно.

1

Другие решения

Я думаю, что вы пытаетесь скачать в Window, подробнее 🙂

Почему в Windows существует ограничение длины пути в 260 символов?

Измените свой веб-корень на более короткий или настройте службу в Ubuntu с помощью VMware:) …

0

Проблема заключалась в том, что выводом был полный путь к каталогу загрузки, но единственной частью, которая мне была нужна, был точный каталог.

Вместо «/ var / www / vhosts / my_hostname / website / page / downloads /», который был задан $ file, теперь он дает только «downloads» для построения URL.

Теперь это работает.

0
По вопросам рекламы [email protected]