PHP 中的绝对(或相对?)路径

2024-01-10

抱歉问这个问题,因为之前可能已经回答过很多次了,但我的问题有点不同

我有像树一样

/var/www/path/to/my/app/
   -- index.php
   -- b.php
   -- inc/
      -- include.php

(我正在从index.php访问inc/include.php,

include "inc/include.php";

)

但在 include.php 中,我需要获取 APPLICATION root 的绝对路径,而不是 DOCUMENT_ROOT 所以结果,我需要能够使用这个命令

//inc/include.php
include(APP_ROOT."/b.php");

重复一遍,我不想这样称呼它

include("../b.php");

如果可能的话,是否有本机功能?

UPDATE:

我想通过 PHP 获取 PATH,因为任何开源都需要进行此路径检测 为什么?如果我想包含 ajax/1/somethiing.php 中的 inc/include.php,它会成功,但 inc/include.php 然后会尝试包含 ajax/b.php 而不是 b.php

对于佩卡:

我有这棵树

-- index.php
-- b.php
-- inc/
    -- include.php
-- ajax/
    -- 1/
       -- ajax.php

现在看。从index.php,您将调用inc/include.php

include("inc/include.php"); //included file

现在,包含的文件搜索

include("../b.php");

它会起作用,但是!如果我从 ajax/1/ajax.php 调用包含 inc/include.php,如下所示

include("../../inc/include.php");

它会起作用,但包含的文件将尝试包含

../b.php 

代替 ../../b.php 作为路径相对于包含 inc/include.php 的文件 知道了 ?


如果可能的话,是否有本机功能?

不。文档根目录是您可以从 PHP 获得的唯一内容。 (但请注意,在您的场景中,您可以简单地调用include("b.php");因为脚本仍然在index.php的上下文中。)

回复您的更新:

您可以在中央配置文件中定义全局应用程序根。说你有config.php在您的应用程序根目录中。然后做一个

define("APP_ROOT", dirname(__FILE__));

you still必须包含配置文件,并且必须使用它的相对路径,例如

include ("../../../config.php");

但是一旦完成此操作,您就可以相对于脚本内的应用程序根目录进行工作:

include (APP_ROOT."/b.php");  <--  Will always return the correct path
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 中的绝对(或相对?)路径 的相关文章

  • WordPress 中的 add_action 函数

    嗯 我正在学习创建一个 WordPress 插件 我下载了一个并阅读了代码 然后我看到了这个 我假设 foo 是它将添加操作的标签 但是 array 到底是做什么的呢 add action foo array foo1 foo2 我在看ht
  • ORDER BY 字段内的 MySQL 子查询。 (没有内连接)

    有很多与此相关的问题 但都具有使用内部联接的相同答案 这 我认为 在这里是不可能的 如果我错了请告诉我 我现在正在做的是调用两个不同的 mysql 查询来获取结果 它工作完美 db gt query SELECT FROM meta WHE
  • PHP MySql 百分比

    我的问题是关于百分比 我不是专家 所以我会尽力以更好的方式进行解释 我的 mysql 服务器中有一个表 假设有 700 条记录 如下所示 Name country language Birth Lucy UK EN 1980 Mari Ca
  • 通过 Ajax 加载内容时,WORDPRESS 音频播放器未加载,MediaElement.js 未应用

    我正在创建一个 WordPress 主题 当我使用 ajax 加载内容时 它不会将 MediaElements js 应用于我的音频播放器 因此不会显示音频 我认为这是因为 MediaElement js 加载了 wp footer 并且此
  • 重定向而不改变url

    我总是不喜欢 htaccess 我正在尝试建立一个所有请求都通过index php 的网站 但我希望URL 类似于www sample com home 该网址实际上会加载 www sample com index php page hom
  • 单词之间没有空格的语言(例如亚洲语言)中的断词?

    我想让 MySQL 全文搜索适用于日语和中文文本以及任何其他语言 问题在于这些语言以及可能其他语言通常在单词之间没有空格 当您必须键入与文本中相同的句子时 搜索没有用 我不能只在每个字符之间添加空格 因为英语也必须有效 我想用 PHP 或
  • 检查 PHP 中“@”字符后面的单词

    我现在正在制作一个新闻和评论系统 但是我已经在一个部分上停留了一段时间了 我希望用户能够在 Twitter 上引用其他玩家的风格 例如 用户名 该脚本看起来像这样 不是真正的 PHP 只是想象脚本 3 string I loved the
  • 蛋糕控制台 2.2.1:烘焙错误

    运行 MAMP 的 OSX 机器 CakePHP 2 2 1 已正确安装和配置 这意味着当我浏览到 Index php 文件时 所有绿色条都显示出来 我已经完成了博客教程 并且正在开发我的第二个应用程序 其中脚手架已启动并运行 现在我第一次
  • 将“php”作为 shell 脚本执行时的自定义 php.ini 文件

    我在跑php作为 shell 脚本 我不确定 shell脚本 是否正确 该文件以 usr bin php 这很好用 但 MongoDB 类没有正确加载php ini文件 具有extension mongo so 未使用 我该如何使用它tha
  • 交换关联数组中的两个项目

    Example arr array apple gt sweet grapefruit gt bitter pear gt tasty banana gt yellow 我想调换一下柚子和梨的位置 这样数组就变成了 arr array ap
  • 为什么 iconv 在 php:7.4-fpm-alpine docker 中返回空字符串

    给出以下代码
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • PHP 中只保留数组的前 N ​​个元素? [复制]

    这个问题在这里已经有答案了 有没有办法只保留数组的前 N 个 例如 10 个 元素 我知道有array pop 但是有没有更好 更优雅的方法呢 您可以使用array slice http php net array slice or arr
  • 如果循环中内存超出,我可以在 for 循环中抛出异常吗?

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何处理 foreach 循环中发生
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • ini_set 'session.gc_maxlifetime' 为 1 天

    If I do ini set session gc maxlifetime 86400 这是否意味着用户可以将浏览器留在同一页面 非活动状态 最多 1 天 而不必担心会话被垃圾收集并被注销 如果服务器配置不支持此功能会发生什么 它会给我一
  • post php mysql 的拆分关键字

    我有一个表存储帖子 ID 它的标签如下 Post id Tags 1 keyword1 keyword2 keyword3 我想循环遍历该表中的每一行并执行以下操作 将关键字1 关键字2 关键字3放入新表中 word id word val

随机推荐

  • 如何将带有 null 终止字符的字节数组转换为 Java 中的字符串?

    如何从字节数组创建 String 对象 byte arr MAX SIZE Java 其中数组元素之一是 C 空终止字节 是不是像打电话那么简单 String str new String arr String 构造函数是否知道自动停止在空
  • 在混合应用程序中,如何确认只有您的应用程序正在访问服务器端页面

    混合应用程序显然有点新 因此很难找到这方面的好信息 我知道我需要在服务器端页面上允许跨源资源共享 但这显然会增加安全缺陷 在phonegap cordova应用程序上 我只有通过ajax调用服务器端页面的客户端控制 这意味着任何人都可以访问
  • 在 OpenGL 中动态更改纹理

    我有一些生成图像的 OpenCV 代码 我使用 OpenGL 显示这些 创建新图像时 我使用相同的值运行以下函数 每次 texture名称和新的image void loadCVTexture GLuint texture const cv
  • Twilio - 响铃 2 次后转接呼叫

    是否可以使用 Twilio 将来电转移到电话号码 A 假设 416 555 1234 并且如果电话号码 A 占线或在响铃 2 或 3 次后无人接听 则转移到电话号码 B XML 现在看起来像这样
  • 如何检查 h2 数据库健康状况和损坏情况

    我在 JavaFX 8 桌面应用程序中以嵌入模式使用 h2 数据库 并且我为用户开发了一个选项来备份和恢复数据库文件 在旧版本的程序中 我使用了 SQLite 数据库 并且使用 pragmaintegrity check 命令检查数据库文件
  • 如何更改levatedButtonTheme中的ElevatedButton文本颜色?

    我正在尝试更改主题中levatedButtonTheme 属性中的ElevatedButton 文本颜色 但无法更改 我知道 Text 的子元素中的 TextStyle 可以更改 Text 的颜色 但我更喜欢在levedButtonThem
  • 什么是格洛姆?它与mapPartitions有何不同?

    我遇到过glom RDD 上的方法 根据文档 返回通过将每个分区内的所有元素合并到数组中创建的 RDD Does glom跨分区混洗数据还是仅将分区数据作为数组返回 在后一种情况下 我相信使用同样可以实现mapPartitions 我还想知
  • 如何在 mysql (laravel) 中使 varchar 可以为空且唯一

    我可以使 MySQL 列可以为空并且唯一吗 我有一个存储用户 Email id 的表 如果用户想提供的话 否则它将是 空 我在其他一些问题中读到我可以创建一个默认为 NULL 的唯一字段 但我在创建表时收到此错误 1067 Invalid
  • OS X cmake 找不到 PythonLibs 3.4

    python 和 python3 通过 Homebrew 安装在 OS X Yosemite 中 但 cmake 找不到 PythonLibs 3 只有 2 个 CMakeLists txt set Python ADDITIONAL VE
  • 从 Postgres JDBC 中的结果集中读取 UUID

    我正在使用 UUID 作为我的 id 列 我正在寻找一种方法来检索我的 Java 应用程序中的数据 我在 ResultSet 中找不到获取 UUID 的方法 我该如何获取 UUID 对于任何搜索的人来说 这是如何完成的 java util
  • 使用 OAuth 2.0 通过 SMACK Java 库进行 X-FACEBOOK-PLATFORM 身份验证

    第一次在这里发帖 所以请温柔 我正在使用 Smack 库构建一个 Facebook 聊天客户端 我正在使用 X FACEBOOK PLATFORM 方法 以免保存任何密码 我使用 oauth 1 0 使其正常工作 并想将其更改为 2 0 这
  • javascript for 循环内的异步过程[重复]

    这个问题在这里已经有答案了 我正在运行以下形式的事件循环 var i var j 10 for i 0 i lt j i asynchronousProcess callbackFunction alert i 我试图显示一系列显示数字 0
  • Objective-C JSON - 将 JSON 对象转换为本机对象?

    status FRE list make Toyota id 1 model camry engine Four Cylinder make Ford id 3 model focus engine Four Cylinder 我如何提取每
  • 如何在 PHP CURL 中从 POST 切换到 GET

    我尝试过从以前的 Post 请求切换到 Get 请求 它假设它是一个 Get 但最终会发布一个帖子 我在 PHP 中尝试了以下操作 curl setopt curl handle CURLOPT POSTFIELDS null curl s
  • iPhone:可以只改变UINavigationBar提示的颜色吗?

    我想知道是否可以仅更改 UINavigationBar 提示的背景颜色 例如 更改为红色 而导航栏的其余部分保持黑色 以便我可以使用 UINavigationItem 的提示属性来显示状态 错误消息作为单行 这是一个老问题 但自从引入app
  • 如何在远程机器中生成 docker 容器

    是否有可能 使用适用于 Python 的 Docker SDK https docker py readthedocs io en stable index html 在远程计算机中启动容器 import docker client doc
  • GitHub 工作流程中针对特定目录的 git Shortlog

    我想打印 GitHub 工作流程中特定目录 我的存储库的一部分 的简短日志 我使用git命令git shortlog e n s myFolder 我用checkout v3检查我的存储库 拉取请求的操作如下 uses actions ch
  • 除非设置了调试标志,否则隐藏回溯

    除非设置了详细或调试标志 否则隐藏回溯错误的惯用Python方法是什么 示例代码 their md5 c38f03d2b7160f891fc36ec776ca4685 my md5 c64e53bbb108a1c65e31eb4d1bb8e
  • 从n个列表中生成灯具

    假设我有 N 支球队 如何生成一个赛程列表 其中每支球队都与其他球队比赛 对此的最佳实践是什么 有没有一种已知的算法可以很好地做到这一点 效率并不是真正的必需品 因为它只需要每个赛季产生一次 更具体地说 我将从一些定义开始 我有 N 个团队
  • PHP 中的绝对(或相对?)路径

    抱歉问这个问题 因为之前可能已经回答过很多次了 但我的问题有点不同 我有像树一样 var www path to my app index php b php inc include php 我正在从index php访问inc inclu