中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > Cgi/Perl
绝对路径与相对路径祥解
作者:佚名 时间:2004-08-05 10:42 出处:互连网 责编:chinaitpower
              摘要:绝对路径与相对路径祥解
新手在安装  
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 程序当前所在目录的绝对路径。  

sub mypath
{
    local  
$temp;
    $temp=__FILE__;

    $temp=~ s/\///g if ($temp=~/\/);

    if ($temp) {
      $mypath=substr($temp,0,rindex($temp,"/"));

    }
    else  
{
      $mypath=substr($ENV{'PATH_TRANSLATED'},0,rindex($ENV{'PATH_TRANSLATED'},"\"));

      $mypath=~ s/\///g;

    }
    return  
$mypath;
}




4. 相对路径如何检测?

  运行如下子程序,返回变量 $myurl 的值就是此 Perl  
程序当前所在目录的相对路径。  
sub myurl
{

    local $server_port,$fullurl;

    $server_port = ":$ENV{'SERVER_PORT'}"  
if ($ENV{'SERVER_PORT'} ne '80');
    $fullurl  
    = "http://$ENV{'SERVER_NAME'}$server_port$ENV{'SCRIPT_NAME'}";

    $myurl       =  
substr($fullurl,0,rindex($fullurl,"/"));

    return $myurl;
}


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有