2016-08-21 142 views
3

所以我有我的PHP腳本中我的文件的URL太長的問題。PHP文件下載路徑太長

目前我的文件的路徑爲:

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

但我想縮短,使得其路徑從我的網站目錄開始,這是一個工作URL。

website.tld/page/downloads/file.mp3 

創建該路徑的代碼是這樣的:

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

這是一個從GitHub的項目的Youtube代碼:

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

$文件從該函數獲取其值-dl-WebUI(code here(function here)但它不適合我這樣工作。

我讀過,你可以刪除你不需要的字符串部分,但我不知道如何實現它,因爲我從來沒有使用過PHP。

+0

歡迎來到堆棧溢出。你能激勵你的問題嗎?爲什麼下載路徑太長?當你考慮它時,請首先檢查你提到的路徑是否有效(我認爲它不能)。最後,請告訴我們您的腳本在路徑中的位置。 –

回答

1

路徑和URL之間有區別。當你創建鏈接時,你應該使用URL的簡寫形式,所以基本上:

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

如果config是私有的,你可能需要創建一個getter。

但內部你應該仍然使用完整的路徑,這似乎是正確實施。

+0

謝謝,那是我正在尋找的路線。 – user6679493

0

問題是輸出是下載目錄的完整路徑,但我需要的唯一部分是確切的目錄。

而不是由$ file給出的「/ var/www/vhosts/my_hostname/website/page/downloads /」現在它只提供「下載」來構建url。

現在工作。