返回列表 回复 发帖

绝对路径与相对路径祥解

作者:allsky
email: zhangyan_@163.com
日期:2001-4-29 11:23:54

新手在安装  
Perl 程序的时候,对这绝对路径和相对路径常常搞不清楚,不知道如何设置。希望看完本文后,能让你们对此不再糊涂。

1. 什么是绝对路径 ?什么是绝对路径的相对表示?
  绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,比如,你的  
Perl 程序是存放在 c:/apache/cgi-bin 下的,那么 c:/apache/cgi-bin  
就是 CGI-BIN 目录的绝对路径(如果你不清楚目录的绝对路径,可以问你主页提供商,也可以用最后的程序自己来检测)。
  绝对路径的相对表示其实很好理解,假设你的 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。

3. 绝对路径如何检测?
  运行如下子程序,返回变量  
$mypath 的值就是此 Perl 程序当前所在目录的绝对路径。
  1. sub mypath
  2. {
  3.     local  
  4. $temp;
  5.     $temp=__FILE__;
  6.     $temp=~ s/\///g if ($temp=~/\/);
  7.     if ($temp) {
  8.       $mypath=substr($temp,0,rindex($temp,"/"));
  9.     }
  10.     else  
  11. {
  12.       $mypath=substr($ENV{';PATH_TRANSLATED';},0,rindex($ENV{';PATH_TRANSLATED';},"\"));
  13.       $mypath=~ s/\///g;
  14.     }
  15.     return  
  16. $mypath;
  17. }
复制代码
4. 相对路径如何检测?
  运行如下子程序,返回变量 $myurl 的值就是此 Perl  
程序当前所在目录的相对路径。
  1. sub myurl
  2. {
  3.     local $server_port,$fullurl;
  4.     $server_port = ":$ENV{';SERVER_PORT';}"  
  5. if ($ENV{';SERVER_PORT';} ne ';80';);
  6.     $fullurl  
  7.     = "http://$ENV{';SERVER_NAME';}$server_port$ENV{';SCRIPT_NAME';}";
  8.     $myurl       =  
  9. substr($fullurl,0,rindex($fullurl,"/"));
  10.     return $myurl;
  11. }
复制代码

                     我是一个呼吸着现在的空气而生活在过去的人
               这样的注定孤独,孤独的身处闹市却犹如置身于荒漠
                                     我已习惯了孤独,爱上孤独
                                 他让我看清了自我,还原了自我
                             让我再静静的沉思中得到快乐和满足
                                   再孤独的世界里我一遍又一遍
                                   不厌其烦的改写着自己的过去
                                             延伸到现在与未来
                                       然而那只是泡沫般的美梦
                                 产生的时刻又伴随着破灭的到来
                         在灰飞烟灭的瞬间我看到的是过程的美丽
                                      而不是结果的悲哀。。。
返回列表