PHP:如何获取当前url的目录深度?
我正在为我公司的网站开发404页面,它有一个PHP:如何获取当前url的目录深度?,php,url,organization,Php,Url,Organization,我正在为我公司的网站开发404页面,它有一个$depth变量,上面写着“./site/”。这适用于基本目录中的任何错误URL,但子文件夹中的任何内容都是使用$depth变量从错误的位置抓取css文件。我尝试了$depth='/site/',但它根本没有抓到任何css文件。我的问题是,我如何让PHP动态计算出$depth,特别是要放入的。/的数量?如果我能得到一个数字或什么,这很容易,但我似乎找不到一个快速,简单的方法来做到这一点 编辑:事实证明,404.php文件只在一个位置,而不管坏url引用
$depth
变量,上面写着“./site/”。这适用于基本目录中的任何错误URL,但子文件夹中的任何内容都是使用$depth
变量从错误的位置抓取css文件。我尝试了$depth='/site/'
,但它根本没有抓到任何css文件。我的问题是,我如何让PHP动态计算出$depth
,特别是要放入的。/
的数量?如果我能得到一个数字或什么,这很容易,但我似乎找不到一个快速,简单的方法来做到这一点
编辑:事实证明,404.php文件只在一个位置,而不管坏url引用的是哪个目录。所以,我真正的问题可能根本与php无关。为什么从
www.siteurl.com/404
访问404页面时,会在一个文件夹中获取css文件,而从www.siteurl.com/foo/bar
访问404页面时,会从另一个文件夹中获取相同名称的css文件?您必须将已知的网页路径映射到已知的磁盘路径(如web/diskroot)。根据这些信息,您可以导出当前网页指向的位置。您必须将已知网页映射到已知的磁盘路径(如web/diskroot)。根据这些信息,您可以导出当前网页指向的位置。使用CSS文件的绝对URL,以避免这样的路径混乱
如果出于任何原因,这不适用于您,请尝试查看
$\u服务器
数组,特别是$\u服务器['PHP\u SELF']
和$\u服务器['DOCUMENT\u ROOT']
使用CSS文件的绝对URL,以避免这样的路径混乱
如果出于任何原因,这不适用于您,请尝试查看
$\u服务器
数组,特别是$\u服务器['PHP\u SELF']
和$\u服务器['DOCUMENT\u ROOT']
如果您只是想在HTML头部引入CSS,您可以使用/$_SERVER['DOCUMENT_ROOT']
这将为您提供站点根目录的直接路径,您可以从该目录构建。如果您只是尝试引入CSS,您可以在HTML头部使用/
$_SERVER['DOCUMENT_ROOT']
这将为您提供站点根目录的直接路径,您可以从中构建。这是我几年前编写的一个函数,我在我的网站上使用它。 它应该有助于:
<?
function absolute_include($file)
{
/*
$file is the file url relative to the root of your site.
Yourdomain.com/folder/file.inc would be passed as
"folder/file.inc"
*/
$folder_depth = substr_count($_SERVER["PHP_SELF"] , "/");
if($folder_depth == false)
$folder_depth = 1;
include(str_repeat("../", $folder_depth - 1) . $file);
}
?>
这是我几年前写的一个函数,我在我的网站上使用它。 它应该有助于:
<?
function absolute_include($file)
{
/*
$file is the file url relative to the root of your site.
Yourdomain.com/folder/file.inc would be passed as
"folder/file.inc"
*/
$folder_depth = substr_count($_SERVER["PHP_SELF"] , "/");
if($folder_depth == false)
$folder_depth = 1;
include(str_repeat("../", $folder_depth - 1) . $file);
}
?>
为什么不完全链接到css文件,并为此目的而忘记所有的$depth
?为什么不完全链接到css文件,并为此目的而忘记所有的$depth
?