-->

什么是绝对路径的HTML和PHP有什么区别?(what is the difference of a

2019-09-17 20:16发布

我开发PHP的网站,我已经安装WAMP我的个人电脑和我的网站上的文件都在WAMP的WWW文件夹。 现在正在考虑WWW作为我的根文件夹我在模板文件夹的根文件夹模板文件夹和文件header.inc.html。 当我尝试使用绝对路径,包括在任何其他PHP文件这个文件header.inc.html include('/template/header.inc.html'); 它给我的错误“无法打开流:没有这样的文件或目录”,但是当我创建一个使用相同的绝对路径,一个简单的HTML链接它完美,并打开该文件。 下面是我的测试代码

<?php
echo '<a href="/template/header.inc.html">headerfile</a>';
include('/template/header.inc.html');
?>

如果我给例如完整路径C:/wamp/www/template/header.inc.html到包括功能正常工作。

我很困惑,这个问题只出现我WAMP的服务器上,将主机商服务器上的完美,也许同样的问题会存在一个虚拟主机提供商

我希望这将澄清我的困惑任何帮助,谢谢。

Answer 1:

从服务器的硬盘上的服务器启动的绝对路径( C:\ )。
在客户端上的绝对路径从网站(根开始http://example.com/ )。



Answer 2:

您可以利用__DIR__作出关于相对于上盘本身的PHP文件磁盘某些文件:

include(__DIR__.'/template/header.inc.html');

这应该解决您的问题。

所不同的是不那么容易解释,因为这两种类型的路径 - 甚至关系 - 两个双鞋。 我建议你用一个非常基本的HTML网页教程,说明如何在您的网站链接和文件所在的位置,以及如何关系到网络服务器配置启动。



Answer 3:

HTML页面居住在客户端的浏览器一无所知你的服务器的文件夹结构,而且他们相对于域名如。 http://example.com/ 。

PHP程序在服务器端运行,他们处理的服务器文件夹。 你不应该硬编码完整路径在你的PHP程序,因为它会导致每当你开发服务器和实况主持人之间移动他们的问题(仅举一个例子)。 因此,在PHP文件您应该使用相对路径到您的文件,或者使用__DIR__的是它和在php文件所在的目录取代魔法不变。

1。)第一种方法: include('template/header.inc.html');

2.)第二种方法: include(__DIR__ .'/template/header.inc.html');

在你的情况(在开发机器上工作),同时在客户端和服务器是一样的盒子,这可能会混淆你。



文章来源: what is the difference of absolute path in html and php ?