【问题标题】:Perl - Dynamic/relative File Path - WebsitePerl - 动态/相对文件路径 - 网站
【发布时间】:2013-03-05 09:43:51
【问题描述】:

我正在使用 perl 等构建一个网站,我正在尝试打开一个文件并在网站上打印它的内容,但是在使用相对文件路径时我似乎无法使其工作......

    # Load our header.html template file
open (HEADER, "/xampp/htdocs/website/template/header.html") or die "Can't find header.html - check path...";
print (<HEADER>);

有效

但是,如果我能做这样的事情,我会更喜欢它:

# Load our header.html template file
open (HEADER, "/template/header.html") or die "Can't find header.html - check path...";
print (<HEADER>);

【问题讨论】:

    标签: file perl path relative-path


    【解决方案1】:

    如果你的完整路径是

    /xampp/htdocs/website/template/header.html
    

    而你目前在/xampp/htdocs/website(这是你的脚本所在的位置,或者是chdired to),那么你可以只使用相对路径:

    template/header.html
    

    例如

    open my $fh, "<", "template/header.html" or die $!;
    print <$fh>;
    

    注意使用三参数 open 和词法文件句柄,以及在 die 语句中包含错误 $!

    【讨论】:

    • 这只是一种迂回的说法,template/header.html 是相对路径。为什么你需要 1000 个字符才能这么说?
    • @ktm5124 你不应该亲自更正,儿子。所以,我是你的第一个反对票,嗯?我想我应该感到荣幸。
    • @ktm5124 什么都没有。既然我的代表不是偶数 5 或 0,我还有一些反对意见。我什至可能会给你一两个。 :)
    【解决方案2】:

    /template/header.html 不是相对文件路径。试试./template/header.html

    【讨论】:

    • ./template/header.html 只是写template/header.html的迂回方式。
    猜你喜欢
    • 2012-03-19
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 2015-07-15
    • 2021-09-15
    • 2014-01-10
    相关资源
    最近更新 更多