在href=";中使用PHP标记&引用;定义
我正在使用一个简单的解决方案获取服务器根目录,它与我的includes配合得非常好:在href=";中使用PHP标记&引用;定义,php,html-table,directory,include,root,Php,Html Table,Directory,Include,Root,我正在使用一个简单的解决方案获取服务器根目录,它与我的includes配合得非常好: <?php $root = $_SERVER['DOCUMENT_ROOT'].'/frizkie'; ?> 我的图像位于: /images/staticons/ 我的代码如下所示: <td onClick="document.location.href='planners/agility.php';">Contents</a></td> 内容 我希望能够
<?php $root = $_SERVER['DOCUMENT_ROOT'].'/frizkie'; ?>
我的图像位于:
/images/staticons/
我的代码如下所示:
<td onClick="document.location.href='planners/agility.php';">Contents</a></td>
内容
我希望能够将$root目录用于“planners/agility.php”部分,但这样做:
onClick="document.location.href='<?php echo $root; ?>/planners/agility.php';"
onClick=“document.location.href=”/planners/agility.php'
导致onClick部件完全不工作。除此之外,我还想使用相同的方法定义表格单元格背景,使用
$root
变量。我曾尝试在background=”“定义中使用PHP标记,但图像不会在Chrome或Firefox中显示-仅在IE9中显示。$\u服务器['DOCUMENT\u ROOT']
可以说是用于服务器端路径,正如您已经注意到的那样。您不需要将它放在标记、CSS和JS中。我坚持使用绝对相对路径,如/images/background.jpg
(注意前面的斜杠)。这样,即使您的页面是通过如下URL访问的
http://example.com/blog/123-my-beautiful-post/
图像是从以下位置下载的:
http://example.com/images/background.jpg
而不是
http://example.com/images/blog/123-my-beautiful-post/images/background.jpg
使用
DOCUMENT\u ROOT
在包含分散在文档根周围的多个文件时会有很大帮助-在这里使用相对路径让我头疼。但是,如果您确实希望在页面中使用完整的URL,您可以尝试使用$\u SERVER['SERVER\u NAME']
,但我确实不理解这样做的必要性。在编写HTML标记时,不要在HREF中使用服务器路径。相反,HREF应该与您的网站域的基础相对
当您希望通过require/require\u once/include/include\u once加载PHP文件时,请使用文档根目录
另外,代码不起作用的原因可能是因为在某些web服务器安装中,文档根存在以下三个条件之一(在Apache httpd.conf中设置):
$docRoot = $_SERVER['DOCUMENT_ROOT'];
if (strlen($docRoot) <= 0) {
// you are going to have to hard code it
$docRoot = "/usr/home/jayleno/";
}
$lastChar = substr($docRoot, -1);
if ($lastChar != '\\' || $lastChar != '/')
$docRoot .= "/";
$templateRoot = $docRoot . "templates/";
$moduleRoot = $docRoot . "modules/";
.
.
$rootCanal = $docRoot . "mytootheaches/";
$docRoot=$\u服务器['DOCUMENT\u ROOT'];
如果(strlen($docRoot)查看文件源代码是显示的变量吗?
来自IE9上的源代码视图。我觉得很好,但我无法单击单元格并跟随链接。我想我试图使其变得比必要的更复杂,可能在过去做了一些错误,使我认为用反斜杠启动路径不会自动转到根目录我想我弄糊涂了,因为我的本地服务器文件继承人权限与Web服务器的根目录(localhost vs domain.com)的结构不同。非常感谢!
$docRoot = $_SERVER['DOCUMENT_ROOT'];
if (strlen($docRoot) <= 0) {
// you are going to have to hard code it
$docRoot = "/usr/home/jayleno/";
}
$lastChar = substr($docRoot, -1);
if ($lastChar != '\\' || $lastChar != '/')
$docRoot .= "/";
$templateRoot = $docRoot . "templates/";
$moduleRoot = $docRoot . "modules/";
.
.
$rootCanal = $docRoot . "mytootheaches/";