【问题标题】:How to write the path in php fopen?如何在php fopen中写路径?
【发布时间】:2013-03-05 06:17:18
【问题描述】:

我在 php fopen 中的相对路径和绝对路径有一些问题。 我有以下目录:

project:
    scripts:
        myscript.php
    logs:
        mylog.log

我想从myscript.php打开mylog.log,不知道怎么指定路径。我试过了

fopen('../logs/mylog.log', "a")

但它不会工作。 谢谢。

LE:谢谢你的回答。

【问题讨论】:

  • 没有“它不起作用”,而是可能有错误消息。
  • 是否返回错误?该错误应反映正在访问的已解析路径。另外,检查权限。
  • @str - 你在开玩笑吗?我有一个 TON 不起作用。

标签: php path


【解决方案1】:

您可以使用$_SERVER['DOCUMENT_ROOT'],它提供虚拟主机的文档根目录。

例如:$_SERVER['DOCUMENT_ROOT']."/log/mylog.log"

【讨论】:

  • 你假设他是通过网络服务器而不是命令行运行的。
【解决方案2】:

这应该可行:

fopen(__DIR__ . '/../logs/mylog.log', "a");

或在 PHP

fopen(dirname(__FILE__) . '/../logs/mylog.log', "a");

【讨论】:

    【解决方案3】:

    在 php 中,有几个全局常量可能对您有所帮助。也就是说,__DIR__ 为您提供当前文件的目录('.' 只是为您提供正在执行的根脚本的目录)。

    所以你想要的是:

    fopen(__DIR__ . '/../logs/mylog.log', "a")
    

    【讨论】:

    • 确实如此。 dirname(__FILE__) 可用于移植到 5.3.0 下的 PHP 安装。
    猜你喜欢
    • 1970-01-01
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    相关资源
    最近更新 更多