[ 来源: | 作者: | 时间:2007-07-16 | 收藏 | 推荐 ] 【大 中 小】
新手在安装
Perl 程序的时候,对这绝对路径和相对路径常常搞不清楚,不知道如何设置。希望看完本文后,能让你们对此不再糊涂。 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
vd;k;l www.it55.com rdfg
1. 什么是绝对路径 ?什么是绝对路径的相对表示? 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,比如,你的
Perl 程序是存放在 c:/apache/cgi-bin 下的,那么 c:/apache/cgi-bin
就是 CGI-BIN 目录的绝对路径(如果你不清楚目录的绝对路径,可以问你主页提供商,也可以用最后的程序自己来检测)。
http://www.it55.com/
绝对路径的相对表示其实很好理解,假设你的 Perl 程序是放在
c:/apache/cgi-bin 下的,如果你要表示这个目录的绝对路径,除了上面说的
c:/apache/cgi-bin 外,你还可以用 . 来表示,因为你的程序就在当前目录下的。其实这个问题和
DOS 下的 CD 命令类似的,你如果在 c:windowssystem 目录下,现在要转换到
c:windows 下,那么你可以用绝对路径命令:cd c:windows,也可以用绝对路径的相对表示命令:cd
..,你现在理解了吗?
要注意的是,如果你用的是
PWS 或 IIS WEB 服务器,那么路径必须用绝对路径来表示,而不能用绝对路径的相对表示,千万要注意了!
2. 什么是相对路径?什么是 URL
相对路径?
这两种说法实际上表达的意思是一样的。比如,你的
Perl 程序 URL 是 http://www.CGIer.net/cgi-bin/test.cgi,调用图片
URL 是 http://www.CGIer.net/gif/test.gif,如果你要在你的程序中表示此图片的相对路径,那么可以写成
http://www.CGIer.net/gif/test.gif,或者是 /gif/test.gif
。说白了,相对路径其实就可以理解为 URL。 免费资源www.it55.com
45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
3. 绝对路径如何检测?
运行如下子程序,返回变量
$mypath 的值就是此 Perl 程序当前所在目录的绝对路径。
sub mypath
{
local
$temp;
$temp=__FILE__; 免费资源www.it55.com
$temp=~ s/\///g if ($temp=~/\/);
if ($temp) {
$mypath=substr($temp,0,rindex($temp,"/")); vd;k;l www.it55.com rdfg
}
else
{
$mypath=substr($ENV{'PATH_TRANSLATED'},0,rindex($ENV{'PATH_TRANSLATED'},"\"));
免费资源www.it55.com
$mypath=~ s/\///g;
}
return
$mypath;
}
www.it55.com在线教程
4. 相对路径如何检测?
运行如下子程序,返回变量 $myurl 的值就是此 Perl
程序当前所在目录的相对路径。
sub myurl
{ it55.com
local $server_port,$fullurl; 免费资源www.it55.com
$server_port = ":$ENV{'SERVER_PORT'}"
if ($ENV{'SERVER_PORT'} ne '80');
$fullurl
= "http://$ENV{'SERVER_NAME'}$server_port$ENV{'SCRIPT_NAME'}"; sflj www.it55.com kg^&fgd
$myurl =
substr($fullurl,0,rindex($fullurl,"/"));
45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
return $myurl;
}
免费资源www.it55.com
(编辑:IT资讯之家 www.it55.com)