例如,您在http://your-site.com/folder1/folder2/file.php。
这是php变量:
==============================================================================
======I======
__File__; C:\wamp\www\folder1\folder2\file.php
$_SERVER['PHP_SELF']; /folder1/folder2/file.php
//$_SERVER['PHP_SELF'] is the same as $_SERVER["REQUEST_URI"];
======II======
getcwd(); C:\wamp\www\folder1\folder2\
dirname(); OUTPUTS NOTHING - EMPTY NOT ALLOWED
basename(); OUTPUTS NOTHING - EMPTY NOT ALLOWED
__dir__; C:\wamp\www\folder1\folder2
======III======
getcwd( XXX ); OUTPUTS NOTHING - PARAMETER NOT ALLOWED
getcwd( XXX ); OUTPUTS NOTHING - PARAMETER NOT ALLOWED
getcwd( XXX ); OUTPUTS NOTHING - PARAMETER NOT ALLOWED
dirname(__FILE__); C:\wamp\www\folder1\folder2
dirname($_SERVER['PHP_SELF']); /folder1/folder2
dirname(getcwd()); C:\wamp\www\folder1
dirname(dirname()); OUTPUTS NOTHING - EMPTY NOT ALLOWED
dirname(basename()); OUTPUTS NOTHING - EMPTY NOT ALLOWED
basename(__FILE__); file.php
basename($_SERVER['PHP_SELF']); file.php
basename(getcwd()); folder2
basename(dirname()); OUTPUTS NOTHING - EMPTY NOT ALLOWED
basename(basename()); OUTPUTS NOTHING - EMPTY NOT ALLOWED
======IV======
on dirname
dirname(dirname(__FILE__)); C:\wamp\www\folder1
dirname(dirname($_SERVER['PHP_SELF'])); /folder1
dirname(dirname(getcwd())); C:\wamp\www
basename(dirname(__FILE__)); folder2
basename(dirname($_SERVER['PHP_SELF'])); folder2
basename(dirname(getcwd())); folder1;
on basename
dirname(basename(__FILE__)); .
dirname(basename($_SERVER['PHP_SELF'])); .
dirname(basename(getcwd())); .
basename(basename(__FILE__)); file.php
basename(basename($_SERVER['PHP_SELF'])); file.php
basename(basename(getcwd())); folder2
==============================================================================
============示例===========
主页网址
<?php echo $_SERVER['HTTP_HOST'];?>
仅当前文件网址(例如:mysite.com/myfile.php)
<?php echo $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; ?>
当前网址完全(如:mysite.com/myfile.php?action=blabla
<?php echo $_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];?>
获取文件的 RealPath(即使它包含在内)(将 /var/public_html 更改为您想要的根目录)
<?php
// First step: Get full path
$cur_file=str_replace('\\','/',__FILE__);
// Second step: Remove the root path
$cur_file=preg_replace('/(.*?)\/var\/public_html/','',$cur_file);
?>
对于 wordpress,已经存在用于获取插件或主题 url 的预定义函数。