我正在尝试在本地开发一个网站,最终通过 FTP 连接到我的服务器。我的 index.php
文件包含以下行:
<?php include($_SERVER['DOCUMENT_ROOT'] . "/includes/header.php");?>
想法是在网站的每个页面中包含一个单独的 header.php
文件。此代码适用于服务器,但不适用于本地主机,因为 $_SERVER['DOCUMENT_ROOT'] .
部分仅对服务器有效。
有没有办法让服务器和本地主机的路径都正确,这样我就不需要在从本地主机移动到服务器时编辑每个网页?
以上内容与 PHP 相关,但对于 HTML 代码我也需要回答同样的问题,例如:
<img src="/images/logo.png" alt="site name" />
从服务器上的 Web 根目录开始。这会在本地主机上运行吗?
我假设这一定是一种普遍需求,并且想知道传统观点是什么。我没有使用框架(只是一个文本编辑器)。在此先感谢您的任何评论/帮助。
更新
我在这里看到一个类似的问题,
How to set root folder for PHP include files
虽然答案与使用 config.php 文件有关,但我没有,也没有解决 HTML 部分。
最佳答案
只需使用 ../
返回您的文件层次结构即可文件夹的次数与文件夹的次数一样多。
<?php include "../../includes/header.php";?>
在 html 中相同
<img src="../../images/logo.png" alt="site name" />
如果您的文件结构很大,请尝试在您的本地主机和服务器的单独文件中使用这样的基础:
本地主机:<?php $base= 'http://localhost';?>
和服务器:<?php $base= $_SERVER['DOCUMENT_ROOT'];?>
然后在你所有的页面中你可以做include("../../base.php");
这样你只需要输入../
每页一次
关于javascript - 如何在网页中指定文件路径,以便同一文件在服务器和本地主机上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37602511/