首页 » 网站建设 » php变量路径技巧_PHP 关于路径的预定义变量和常量

php变量路径技巧_PHP 关于路径的预定义变量和常量

访客 2024-12-14 0

扫一扫用手机浏览

文章目录 [+]

DIRECTORY_SEPARATOR 目录分隔符, linux上便是'/' windows上是'\'

在Windows "\"或者"/" Linux "/" "/" windows和linux都支持

php变量路径技巧_PHP 关于路径的预定义变量和常量

实例:

php变量路径技巧_PHP 关于路径的预定义变量和常量
(图片来自网络侵删)

define(ROOT, dirname(__FILE__).DIRECTORY_SEPARATOR."upload"); //windows和linux平台都支持

PATH_SEPARATOR 路径分隔符, include多个路径利用 在linux上是一个":"号, WINDOWS上是一个";"号

实例:

如何判断操作系统的路径分隔符

if(PATH_SEPARATOR==':'){

$signature = "signature/linux-signature64"; //linux系统

}else{

$signature = "signature\\windows-signature64.exe"; //windows操作系统

}

__FILE__

文件的完全路径和文件名。
如果用在被包含文件中,则返回被包含的文件名。

__DIR__

文件所在的目录。
(php5.3以上支持)如果用在被包括文件中,则返回被包括的文件所在的目录。
它等价于 dirname(__FILE__)。

require_once __DIR__ . '/composer/autoload_real.php';

利用__DIR__常量可以办理在PHP各种框架的路径加载问题

预定义变量:

$_SERVER["DOCUMENT_ROOT"]; 当前运行脚本所在的文档根目录, 与document root有关(根目录的路径);

$_SERVER["PHP_SELF"] 当前实行脚本的文件名(不含根目录,相称于根目录下的文件和文件夹); 表单(action)提交到当前页面会用到

$_SERVER["SCRIPT_NAME"] 包含当前脚本的路径, 这在页面须要指向自己时非常有用(不含根目录,相称于根目录下的文件和文件夹);

$_SERVER["SCRIPT_FILENAME"] 当前实行脚本的绝对路径(最完全的路径);

$_SERVER["REQUEST_URI"] 用来指定要访问的页面, 可能包括利用GET发送的部分(smarty缓存时会用到);

$_SERVER["SERVER_NAME"] 当前运行脚本所在的做事器的主机名(域名)。
如果脚本运行于虚拟主机中, 该名称是由那个虚拟主机所设置的值决定;

C:\AppServ\www\52ekt\images\lujing.php

C:/AppServ/www/52ekt/images/lujing.php

一下对应的结果比较

__FILE__ C:\AppServ\www\52ekt\images\lujing.php

__DIR__ C:\AppServ\www\52ekt\images

$_SERVER["DOCUMENT_ROOT"] C:/AppServ/www 重点

$_SERVER["PHP_SELF"] /52ekt/images/lujing.php

$_SERVER["SCRIPT_NAME"] /52ekt/images/lujing.php

$_SERVER["SCRIPT_FILENAME"] C:/AppServ/www/52ekt/images/lujing.php 重点

$_SERVER["REQUEST_URI"] /52ekt/images/lujing.php 重点

$_SERVER["SERVER_NAME"] localhost

__FILE__等同于$_SERVER["SCRIPT_FILENAME"] C:/AppServ/www/52ekt/images/lujing.php

$_SERVER["SCRIPT_NAME"]等同于$_SERVER["REQUEST_URI"] /52ekt/images/lujing.php

路径处理函数: /var/www/html/page.php

basename(url) 返回路径中的文件名部分 page.php

dirname(url) 返回路径中的目录部分 /var/www/html

pathinfo(url) 返回一个关联数组,个中包括指定路径中的目录名、基本名和扩展名

pathinfo(path,options)

options参数:可选。
规定要返回的数组元素。
默认是 all。

可能的值:

PATHINFO_DIRNAME - 只返回 dirname

PATHINFO_BASENAME - 只返回 basename

PATHINFO_EXTENSION - 只返回 extension

<?php

$path = "/var/www/html/page.php"; //包含有指向一个文件的全路径的字符串

$path_parts=pathinfo($path); //返回包括指定路径中的目录名、基本名和扩展名关联数组

echo $path_parts["dirname"]; //输出目录名/var/www/html

echo $path_parts["basename"]; //输出基本名page.php

echo $path_parts["extension"]; //输出扩展名.php

?>

把稳:php路径不能采取中文名称的路径

realpath() 函数返回绝对路径。

该函数删除所有符号连接(比如 '/./', '/../' 以及多余的 '/'),返回绝对路径名。

若失落败,则返回 false。
比如说文件不存在的话。

<?php

echo realpath("Data#userabc.mdb"); //哀求与实行文件在同一目录下

?>

输出: C:\AppServ\www\Data#userabc.mdb

getcwd(void) 函数返回当前目录。

若成功,则返回当前事情目录,否则返回 false。

<?php

echo getcwd();

?>

输出:C:\testweb\main

文件地址:/common/init.php

define('ROOT', str_replace('\\', '\', dirname(__DIR__)));

define('VIEW', ROOT.'/view');

阐明:__DIR__ 获取到 /common 目录

dirname(__DIR__) 获取到/ 根目录

把稳: "域名"的信息一样平常没有固定要设置的地方,不过了为了利用方便,可以放到系统的一样平常配置文件中。

如果是在ThinkPHP框架中,就可以将域名放到项目/分组/Conf/config.php配置文件中;

在ci框架中设置域名application/config/config.php, $config['base_url'] = 'http://www.cnjiaoju.com';

PHP哪些地方须要用到域名,都是看自己的需求和利用环境, 为了系统掩护方便、移植快速都是很少利用完全的"域名+路径"。

标签:

相关文章