动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   Cgi/Perl → 阅读文章

 绝对路径与相对路径祥解

作者来源: 
阅读 数 145 人次 , 2006-3-29 4:02:00 


新手在安装
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 是 /ShowImg.asp?p=/2006-3-29/24916gifatest.gif,如果你要在你的程序中表示此图片的相对路径,那么可以写成
/ShowImg.asp?p=/2006-3-29/24916gifatest.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;
}

 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Perl 程序的属性详解
· 下一篇:Perl CGI 环境变量列表
· 快速开始Perl XML:接口篇
· unix 下的文件属性
· Cgi入门教程之:4 使用Emacs
· Perl语言的文字处理模式之三(4)
· 如何在Windows NT 4.0下安装ActivePerl


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077