首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取运行脚本的父目录

获取运行脚本的父目录
EN

Stack Overflow用户
提问于 2009-12-11 00:08:06
回答 12查看 121K关注 0票数 77

在PHP中,获取当前运行的脚本相对于根目录的www父目录的最干净的方法是什么?假设我有:

代码语言:javascript
复制
$_SERVER['SCRIPT_NAME'] == '/relative/path/to/script/index.php'

或者只是:

代码语言:javascript
复制
$something_else == '/relative/path/to/script/'

我需要正确插入带斜杠的/relative/path/to/。你有什么建议?单层衬垫是首选。

编辑

我需要获得一个相对于www根目录的路径,dirname(__FILE__)给了我一个文件系统中的绝对路径,这样就不能工作了。另一方面,$_SERVER['SCRIPT_NAME']从www根“开始”。

EN

回答 12

Stack Overflow用户

发布于 2014-01-29 17:08:00

从PHP5.3.0开始,您可以使用__DIR__实现此目的。

文件的目录。如果在include中使用,则返回包含文件的目录。这等效于dirname(__ FILE__)。

参见PHP Magic constants

代码语言:javascript
复制
C:\www>php --version
PHP 5.5.6 (cli) (built: Nov 12 2013 11:33:44)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

C:\www>php -r "echo __DIR__;"
C:\www
票数 13
EN

Stack Overflow用户

发布于 2011-05-10 03:19:05

如果我正确理解了您的问题,假设您的运行脚本是

代码语言:javascript
复制
/relative/path/to/script/index.php

这将为您提供运行脚本相对于文档www的父目录:

代码语言:javascript
复制
$parent_dir = dirname(dirname($_SERVER['SCRIPT_NAME'])) . '/';
//$parent_dir will be '/relative/path/to/'

如果希望运行脚本的父目录相对于服务器根目录:

代码语言:javascript
复制
$parent_dir = dirname(dirname($_SERVER['SCRIPT_FILENAME'])) . '/';
//$parent_dir will be '/root/some/path/relative/path/to/'
票数 8
EN

Stack Overflow用户

发布于 2014-04-18 01:25:16

来获取当前脚本的parentdir。

代码语言:javascript
复制
$parent_dir = dirname(__DIR__);
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1882044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档