gpt4 book ai didi

php - 如何在 PHP 中获取符号链接(symbolic link)的原始路径?

转载 作者:可可西里 更新时间:2023-11-01 12:54:35 33 4
gpt4 key购买 nike

我的网络文件夹中有几个文件,包括这两个:

  • /mydocroot/include/somesubdir/include.inc.php
  • /mydocroot/include/settings.inc.php

somesubdir 是指向我磁盘上另一个目录的符号链接(symbolic link),路径名为,呃,假设是 /anywhere/else

include.inc.php里面,是这样写的:

<?php

require_once "../settings.inc.php";

?>

在我看来,应该包含/mydocroot/include/settings.php...但是猜猜会发生什么:PHP 试图包含/anywhere/settings.inc.php代替 /mydocroot/include/settings.inc.php

似乎 PHP 会自动解析符号链接(symbolic link)。

如何避免这种情况并包含我的 settings.inc.php 文件?

最佳答案

我刚刚遇到了类似的问题。您可以使用 $_SERVER['SCRIPT_FILENAME'] 变量来显示请求的文件,因此在您的情况下它将是 /mydocroot/include/somesubdir/include.inc.php ,即使 somesubdir 是一个符号链接(symbolic link)。包含一个低一级的文件而不是做

require_once "../settings.inc.php";

这样做:

require_once dirname(dirname($_SERVER['SCRIPT_FILENAME'])).DIRECTORY_SEPARATOR."settings.inc.php"

Documentation about $_SERVER variables

关于php - 如何在 PHP 中获取符号链接(symbolic link)的原始路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9736948/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com