【问题标题】:Sort a file from the root [duplicate]从根目录对文件进行排序[重复]
【发布时间】:2020-06-22 02:57:34
【问题描述】:

我正在使用此代码

$sort_data = get_sort('data/profiles/name.cms','¦');

所需的“Data”文件夹在我主机的根目录下,但调用name.cms的php文件在子文件夹中:styles/default/pages/left_member.php

我无法从 name.cms 文件中获取该数据,知道如何从根目录调用该文件吗?

【问题讨论】:

  • 您是否尝试过使用绝对路径 (/path/to/data/profiles/name.cms),而不是相对路径?
  • 是的,没用。

标签: php


【解决方案1】:

您可以利用 PHP $_SERVER 功能并定位根目录。

示例:

$sort_data = get_sort($_SERVER['DOCUMENT_ROOT'].'/data/profiles/name.cms','¦');

请务必注意,实际定义为根目录的内容是在您的配置文件中定义的。

'DOCUMENT_ROOT' - "当前文档所在的根目录 脚本正在执行,正如服务器配置文件中所定义的那样。"

来源here

根据您的评论更新:

感谢您的帮助,我已经尝试过了,但它正在变得完整 xampp 目录,所以它不起作用。

如果您将项目 “上线”$_SERVER['DOCUMENT_ROOT'] 功能应该可以工作。它现在对您不起作用的原因是因为您的root 目录中有一个“项目结构”。 IE。 localhost/myproject/index.phproot 的意思实际上是项目文件夹,而不是 实际 root 文件夹。

在这种情况下,您可以尝试 3 种不同的选项。

  1. 不使用PHP保留变量$_SERVER的绝对路径 找到它。

示例:

$sort_data = get_sort('/data/profiles/name.cms','¦');
  1. 手动操作目录路径。

示例:

$sort_data = get_sort('../data/profiles/name.cms','¦');

您可以添加尽可能多的“升级”,即../,以到达所需的起点,然后找到文件夹。

  1. 定义您自己的“root”路径变量。

例子:

$my_root = $_SERVER['DOCUMENT_ROOT'].'/myproject';

您现在可以在路径中使用$my_root,如下所示:

$sort_data = get_sort($my_root.'/data/profiles/name.cms','¦');

【讨论】:

  • 感谢您的帮助,我已经尝试过了,但是它获取了整个 xampp 目录,所以它不起作用。
  • 那么你不是通过根目录,而是一个项目文件夹。即 localhost/myproject/index.php。如果您曾经对您的项目进行“live”$_SERVER['DOCUMENT_ROOT'] 将起作用。或者,您可以回溯您的路径。 ../ 表示目录中的一个文件夹。继续这样做,直到您可以输入指定的路径。
  • 查看已编辑的答案以了解可能的解决方案@IsaacSabir
猜你喜欢
  • 2016-03-08
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
  • 2011-07-04
  • 1970-01-01
相关资源
最近更新 更多