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 中的绝对(或相对?)路径 的相关文章

  • Magento 中的子域 htaccess 问题

    public html www domain com public html subdomain subdomain domain com public html htaccess public html subdomain htacces
  • __callStatic():从静态上下文实例化对象?

    我对 PHP 中的 静态 和 动态 函数和对象如何协同工作感到困惑 特别是在 callStatic 方面 callStatic 的工作原理 您可以有一个普通的班级 MyClass 在班级内您可以 放置一个名为 callStatic 的静态函
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam
  • PHPExcel下载文件

    我想下载使用 PHPExcel 生成的 Excel 文件 我按照以下代码PHPExcel 强制下载问题 https stackoverflow com questions 26265108 phpexcel force download i
  • session_regenerate_id 没有创建新的会话 id

    我有一个脚本 旨在完成当前会话并开始新的会话 我使用了一段代码 它在我的开发计算机上运行良好 但是 当我将其发布到生产服务器时 会话 ID 始终保持不变 以下是我重新启动会话的代码 session start SESSION array P
  • 使用 PHP 对 ASP.NET 成员身份中的用户进行身份验证

    我在尝试使用 PHP 针对现有 ASP NET 成员资格数据库对用户进行身份验证时遇到一些问题 我在网上搜索过 发现现有的答案似乎对我不起作用 即 public static function Hash password salt deco
  • 具有动态表单名称的 form_widget

    在我的 Twig 模板中 我有一个 FOR 循环 它创建多个表单 如下所示 for thing in things set form id myform thing Id set form name attribute form myfor
  • 运行 Composer 返回:“无法打开输入文件:composer.phar”

    我是 symfony2 和阅读新手symblog http tutorial symblog co uk tutorial parts 在第三章中 在尝试使用数据装置时 我尝试了以下命令 php composer phar update 但
  • strlen()==0 和empty()之间有区别吗?

    我正在查看其他人编写的一些表单验证代码 我看到了这个 strlen 0 当测试表单变量是否为空时 我使用empty 功能 一种方法比另一种方法更好吗 它们在功能上等效吗 strlen是获取字符串中的字符数 同时empty用于测试变量是否为空
  • 使用 php 更改白天和黑夜的背景?

    我正在制作一个 tumblr 页面 我的 html 页面有两种不同的背景 我希望白天背景从早上 7 点到晚上 8 点显示 夜间背景从晚上 8 点到早上 7 点显示 我决定用 php 来做这件事 但对于 php 来说我是个新手 我的朋友给我发
  • php - 我应该加密电子邮件地址吗?

    当用户注册时 我应该将他们的电子邮件按原样存储在数据库中还是对其进行哈希处理 我希望稍后能够解密 那么我应该使用 md5 吗 谢谢你 No md5 is 单向哈希函数 http en wikipedia org wiki Cryptogra
  • Laravel 5.2 带有可变参数的命名路由用法

    我有这样的路线 Open New Subscription page Route get account subscriptions create menu uses gt Subscriptions SubscriptionControl
  • CakePHP Xml 实用程序库触发 DOMDocument 警告

    我正在使用 CakePHP 在视图中生成 XMLXML核心库 http book cakephp org 2 0 en core utility libraries xml html xml Xml build data array ret
  • 使用PHP套接字发送和接收数据

    我正在尝试通过 PHP 套接字发送和接收数据 一切正常 但是当我尝试发送数据时 PHP 不发送任何内容 Wireshark 告诉我发送的数据长度为 0 我正在使用这段代码
  • Azure 上的“phpcomposer.phar install”出现“无法终止进程”错误

    我正在尝试将我的 Symfony 2 应用程序部署到 Microsoft Azure 网站云 为此 我按照本指南中的步骤操作http symfony com doc current cookbook deployment azure web
  • 如何从字符串中删除所有数字?

    我想删除字符串 0 9 中的所有数字 我写了这段有效的代码 words preg replace 0 words remove numbers words preg replace 1 words remove numbers words
  • php 表单提交 - Q2

    我对这个虚拟问题感到抱歉 这是我的简单 PHP 表单 其中包含两个 SQL 表和 ADD 提交 按钮 我希望将人员从 Test1 转移到 Test2 很多事情都很好 只有提交按钮不起作用 因此 Test2 表没有反馈 Revised 现在提
  • 为什么 PHP 中不允许“传统”类型提示?

    刚刚发现类型提示 http php net manual en language oop5 typehinting phpPHP 中允许 但不适用于整数 字符串 布尔值或浮点数 为什么 PHP 不允许对整数 字符串等类型进行类型提示 从 P
  • 检查文件权限

    我怎样才能检查file permissions 无需通过运行操作系统特定命令passthru or exec Use 文件权限 http php net fileperms功能 clearstatcache echo substr spri
  • 在 PHP 中模拟 jQuery.ajax 请求

    我必须在 PHP 中模拟 AJAX 请求 就像在 jQuery 中一样 我当前的代码在这里 原始 AJAX 调用 不得修改 ajax type POST url someFile php data data success function

随机推荐

  • 如何将带有 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