2011-04-13 186 views
2

我有一个为我移动文件的php函数。它需要绝对路径来放置这些文件(/Applications/MAMP/HTdocs/mysite/myfolder如何从绝对文件夹路径获取URL?

如何将此文件夹路径字符串转换为url(http://mysite.com/myfolder),以便我可以创建链接到文件的动态?

我不知道文件夹的名称,因为软件可能在多个位置运行。

非常感谢。

回答

2

显然,你需要知道服务器的根用于这样的计算。
Luclikly,$ _SERVER ['DOCUMENT_ROOT']包含此路径。
所以,仅仅从给定的路径减去服务器的根路径:

$path = '/Applications/MAMP/HTdocs/mysite/myfolder'; 
$approot = substr($path,strlen($_SERVER['DOCUMENT_ROOT'])); 

检查,如果你有一个在DOCUMENT_ROOT驱动器盘符,并纠正代码,如果必要

注意添加http://mysite.com是不必要的,无用的。只需/myfolder/就是你真正需要的。

+0

但是那不是相对链接,它变得重要知道脚本正在运行的位置并进行解释? – 2011-04-13 14:50:37

+0

@Mild当然是 – 2011-04-13 14:57:11

+0

,所以我需要修改该脚本以包含完整路径,因为我没有那种奢侈品。 – 2011-04-13 15:00:58

0

如果mysite的文件夹是htdocs目录内,那么你可以使用http://yourdomain/mysite访问它,(如果HTodcs是你的主目录)

2

您可以检查这个值:$ _ SERVER [“DOCUMENT_ROOT”];

这是您的网站的根。如果你有文件夹并用$ _SERVER [“HTTP_HOST”]替换$ _SERVER [“DOCUMENT_ROOT”],你将得到文件夹/文件的URL