簡體   English   中英

我如何從Codeigniter中的本地路徑獲取路徑URL

[英]How can i get path url from a local path in codeigniter

我在codeigniter中創建下載鏈接時遇到問題。 我的問題是我為文件名設置了本地路徑:

C:\wamp\www\elance\zip2\uploads/13487727859183.zip

現在要創建下載鏈接,我需要類似http://localhost/elance/zip2/uploads/13487727859183.zip

我很困惑,沒有得到解決方法。

如果要將C:\\wamp\\www\\elance\\zip2\\uploads/13487727859183.ziphttp://localhost/elance/zip2/uploads/13487727859183.zip ,則只需使用str_replace

$str = "C:\wamp\www\elance\zip2\uploads/13487727859183.zip";
$str = str_replace("C:\wamp\www\","http://localhost/", $str);
$str = str_replace('\\', '/', $str);

未經測試,我認為這應該很好。 該功能將需要放置在一個助手中

function create_download_link($file, $base_url, $location = "C:\wamp\www\") {

    $link = "<a href='" . str_replace("\\", "/", str_replace($location, $base_url, $file)) . "'>Download File</a>";

    return $link;

}

//example call
create_download_link("C:\wamp\www\elance\zip2\uploads/13487727859183.zip", base_url(), "C:\wamp\www\");

我想我了解您的問題,因為我今天遇到了同樣的問題。

以下是我的單行解決方案,以下是確保我正確理解的說明。

您有一個文件,以及該文件名的本地路徑,該路徑可能存儲在數據庫表中或類似文件中...對嗎?

例如。 C:\\ wamp \\ www \\ myApp \\ path \\ to \\ file.zip

您希望您的應用程序吐出一個鏈接,以便瀏覽您網頁的用戶可以單擊該鏈接並下載文件,對嗎?

您的應用程序位於:C:\\ wamp \\ www \\ myApp \\ index.php

僅當您的文件存儲在應用程序根目錄的子目錄中時,下面的動態解決方案才有效,並且很容易,因為它利用了CodeIgniter的預定義常量和url幫助器:

// FCPATH -> where the index.php file lives
// $my_file  -> your file
$file_url = str_replace(FCPATH, base_url(), $my_file);

而已。

只需將文件路徑的“ FCPATH”部分替換為“ base_url()”輸出,就可以了。

如果您的文件位於不是您的應用程序文件夾的子文件夾的文件夾中,則必須對FCPATH和base_url()位進行硬編碼。

希望有幫助! 皮特

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM