在PHP中,获取当前运行的脚本相对于根目录的www父目录的最干净的方法是什么?假设我有:
$_SERVER['SCRIPT_NAME'] == '/relative/path/to/script/index.php'
或者只是:
$something_else == '/relative/path/to/script/'
我需要正确插入带斜杠的/relative/path/to/
。你有什么建议?单层衬垫是首选。
编辑
我需要获得一个相对于www根目录的路径,dirname(__FILE__)
给了我一个文件系统中的绝对路径,这样就不能工作了。另一方面,$_SERVER['SCRIPT_NAME']
从www根“开始”。
发布于 2014-01-29 17:08:00
从PHP5.3.0开始,您可以使用__DIR__
实现此目的。
文件的目录。如果在include中使用,则返回包含文件的目录。这等效于dirname(__ FILE__)。
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
发布于 2011-05-10 03:19:05
如果我正确理解了您的问题,假设您的运行脚本是
/relative/path/to/script/index.php
这将为您提供运行脚本相对于文档www的父目录:
$parent_dir = dirname(dirname($_SERVER['SCRIPT_NAME'])) . '/';
//$parent_dir will be '/relative/path/to/'
如果希望运行脚本的父目录相对于服务器根目录:
$parent_dir = dirname(dirname($_SERVER['SCRIPT_FILENAME'])) . '/';
//$parent_dir will be '/root/some/path/relative/path/to/'
发布于 2014-04-18 01:25:16
来获取当前脚本的parentdir。
$parent_dir = dirname(__DIR__);
https://stackoverflow.com/questions/1882044
复制相似问题