php相对路径怎么获取
时间 : 2023-04-25 22:35:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在 PHP 中,相对路径是相对于当前文件的路径。通常,我们使用相对路径来引用 css、js、图片等资源。

相对路径可以是:

- 父级路径 `../`:表示上一级目录。

- 当前路径 `./`:表示当前目录。

- 子级路径 `./subdir/file.php`:表示当前目录下的子目录下的文件。

获取相对路径有多种方式,以下是一些常见的方法:

1. 使用 `dirname(__FILE__)` 或 `__DIR__` 获取当前文件所在的目录的绝对路径,再使用相对路径构建路径。

例如,假设当前文件为 `/var/www/html/project/index.php`,要引用 `/var/www/html/project/css/style.css`,可以这样写:

<link href="<?php echo __DIR__ . '/../css/style.css'; ?>" rel="stylesheet">

2. 使用 `$_SERVER['DOCUMENT_ROOT']` 获取网站根目录的绝对路径,再使用相对路径构建路径。

例如,假设网站根目录为 `/var/www/html`,要引用 `/var/www/html/css/style.css`,可以这样写:

<link href="<?php echo $_SERVER['DOCUMENT_ROOT'] . '/css/style.css'; ?>" rel="stylesheet">

3. 使用 `$_SERVER['REQUEST_URI']` 获取当前页面的 URL,再使用 `parse_url()` 函数解析出路径部分,再使用相对路径构建路径。

例如,假设当前页面的 URL 为 `http://example.com/project/page.php`,要引用 `http://example.com/project/css/style.css`,可以这样写:

<?php

$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);

$dir = dirname($path);

?>

<link href="<?php echo $dir . '/css/style.css'; ?>" rel="stylesheet">

以上三种方法都可以用来获取相对路径,具体使用哪种方法取决于具体情况和个人偏好。

在 PHP 中,相对路径指的是相对于当前脚本所在目录的路径。在获取相对路径之前,我们需要先了解一些基本概念。

当前脚本所在目录

我们可以使用 `__DIR__` 或 `dirname(__FILE__)` 常量来获取当前脚本所在目录的绝对路径。

例如,我们有一个名为 `index.php` 的脚本,它的绝对路径为 `/var/www/html/index.php`。使用 `__DIR__` 或 `dirname(__FILE__)` 常量获取当前脚本所在目录的绝对路径,代码如下:

```php

echo __DIR__; // 输出:/var/www/html

echo dirname(__FILE__); // 输出:/var/www/html

相对路径的表示方式

相对路径的表示方式有三种:基于根目录的相对路径、基于当前目录的相对路径和基于上级目录的相对路径。

基于根目录的相对路径

基于根目录的相对路径是以根目录(目录树的最顶层)为参照点,表示从根目录开始到目标文件所在目录的路径。

例如,假设我们的项目根目录为 `/var/www/html`,我们可以使用以下代码获取 `example.php` 文件的相对路径:

```php

echo '/example.php'; // 输出:/example.php

基于当前目录的相对路径

基于当前目录的相对路径是以当前工作目录为参照点,表示从当前工作目录开始到目标文件所在目录的路径。

例如,假设当前工作目录为 `/var/www/html`,我们可以使用以下代码获取 `example.php` 文件的相对路径:

```php

echo './example.php'; // 输出:./example.php

基于上级目录的相对路径

基于上级目录的相对路径是以当前脚本所在目录为参照点,表示从当前脚本所在目录的上级目录开始到目标文件所在目录的路径。

例如,假设当前脚本所在目录为 `/var/www/html`,我们可以使用以下代码获取 `example.php` 文件的相对路径:

```php

echo '../example.php'; // 输出:../example.php

获取相对路径

在 PHP 中,我们可以使用 `dirname()` 函数和 `basename()` 函数获取指定文件路径的目录路径和文件名。

例如,假设我们有一个名为 `example.php` 的文件,它的绝对路径为 `/var/www/html/example.php`,我们可以使用以下代码获取相对路径:

```php

$dir = dirname(__FILE__); // 获取目录路径:/var/www/html

$file = basename('/example.php'); // 获取文件名:example.php

// 使用相对路径:./example.php

echo $dir . '/./' . $file;

以上代码中,`$dir` 变量保存 `example.php` 文件所在目录的绝对路径,`$file` 变量保存 `example.php` 文件名,然后使用 `./` 表示当前目录,拼接成相对路径 `./example.php`。