首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在codeigniter中从本地路径获取路径url?

如何在codeigniter中从本地路径获取路径url?
EN

Stack Overflow用户
提问于 2012-09-28 03:52:41
回答 3查看 636关注 0票数 1

我在codeigniter中创建下载链接时遇到问题。我的问题是我的文件名有一个本地路径:

代码语言:javascript
复制
C:\wamp\www\elance\zip2\uploads/13487727859183.zip

现在,为了创建下载链接,我需要像http://localhost/elance/zip2/uploads/13487727859183.zip这样的东西

我很困惑,也不知道该怎么做。

EN

回答 3

Stack Overflow用户

发布于 2012-09-28 04:53:20

如果想要将C:\wamp\www\elance\zip2\uploads/13487727859183.zip转换为http://localhost/elance/zip2/uploads/13487727859183.zip,可以简单地使用str_replace

代码语言:javascript
复制
$str = "C:\wamp\www\elance\zip2\uploads/13487727859183.zip";
$str = str_replace("C:\wamp\www\","http://localhost/", $str);
$str = str_replace('\\', '/', $str);
票数 0
EN

Stack Overflow用户

发布于 2012-09-28 05:26:04

无需测试,我认为这应该可以很好地工作。该函数需要放在一个帮助器中

代码语言:javascript
复制
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\");
票数 0
EN

Stack Overflow用户

发布于 2012-11-14 00:09:13

我想我理解你的问题,因为我今天也遇到了同样的问题。

下面是我的一行解决方案,这里是一个解释,以确保我理解正确。

您有一个文件,以及该文件名的本地路径,可能存储在数据库表或类似表中……对,是这样?

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

您希望您的应用程序输出一个链接,这样查看您的网页的人就可以单击该链接并下载文件,对吗?

您的应用程序位于: C:\wamp\www\myApp\index.php

下面的动态解决方案仅当您的文件存储在应用程序根目录的子目录中时才有效,而且它很容易,因为它利用了CodeIgniter的预定义常量和url助手:

代码语言:javascript
复制
// 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()位...

希望这能有所帮助!皮特

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12629052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档