Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在网页中指定文件路径,以便同一文件在服务器和本地主机上工作?_Javascript_Php_Html_Css - Fatal编程技术网

Javascript 如何在网页中指定文件路径,以便同一文件在服务器和本地主机上工作?

Javascript 如何在网页中指定文件路径,以便同一文件在服务器和本地主机上工作?,javascript,php,html,css,Javascript,Php,Html,Css,我正在尝试在本地开发一个网站,最终通过FTP传输到我的服务器。我的index.php文件包含以下行: <?php include($_SERVER['DOCUMENT_ROOT'] . "/includes/header.php");?> 从服务器上的web根目录开始。这在本地主机上有效吗 我想这一定是一个共同的需求,不知道什么是传统的智慧。我没有使用框架(只是一个文本编辑器)。提前感谢您的任何意见/帮助 更新 我在这里看到一个类似的问题 尽管答案与使用config.php文件

我正在尝试在本地开发一个网站,最终通过FTP传输到我的服务器。我的
index.php
文件包含以下行:

 <?php include($_SERVER['DOCUMENT_ROOT'] . "/includes/header.php");?>
从服务器上的web根目录开始。这在本地主机上有效吗

我想这一定是一个共同的需求,不知道什么是传统的智慧。我没有使用框架(只是一个文本编辑器)。提前感谢您的任何意见/帮助

更新

我在这里看到一个类似的问题


尽管答案与使用config.php文件有关(我没有),也没有涉及HTML部分。

只要在文件层次结构中使用
。/
的次数与使用文件夹的次数相同即可

<?php include "../../includes/header.php";?>

在html中也是如此

<img src="../../images/logo.png" alt="site name" />

如果您的文件结构很大,请尝试在本地主机和服务器的单独文件中使用这样的基:

本地主机:

和服务器:

然后在所有页面中,您可以执行
include(“../../base.php”)


这样,您只需在每页中键入一次
。/

只需在文件层次结构中使用与文件夹相同的次数即可

<?php include "../../includes/header.php";?>

在html中也是如此

<img src="../../images/logo.png" alt="site name" />

如果您的文件结构很大,请尝试在本地主机和服务器的单独文件中使用这样的基:

本地主机:

和服务器:

然后在所有页面中,您可以执行
include(“../../base.php”)


这样,您只需在每页中键入一次
。/

我通常使用类似Sam的方法,因为它简单、可移植,但在更大、更复杂的应用程序中可能会崩溃。对于这些情况,您可以在配置文件中定义路径。您仍然需要从脚本中知道该文件的相对路径,但在这之后,一切都将变得简单

//config.php
define("DOCPATH","c:/dev");
define("ROOTURL","http://localhost/");

//your file
include_once("../../config.php");
set_include_path(DOCPATH);
然后可以在图像src中使用php

<img src="<?php echo ROOTURL;?>images/logo.png" alt="site name" />
images/logo.png“alt=”site name“/>

我通常使用类似Sam的方法,因为它简单、可移植,但在更大、更复杂的应用程序中可能会出现问题。在这些情况下,您可以在配置文件中定义路径。您仍然需要从脚本中知道该文件的相对路径,但之后一切都会变得简单

//config.php
define("DOCPATH","c:/dev");
define("ROOTURL","http://localhost/");

//your file
include_once("../../config.php");
set_include_path(DOCPATH);
然后可以在图像src中使用php

<img src="<?php echo ROOTURL;?>images/logo.png" alt="site name" />
images/logo.png“alt=”site name“/>


为什么
$\u SERVER['DOCUMENT\u ROOT']
只能在一台服务器上有效,而不能在另一台服务器上有效?我认为另一台服务器是指本地主机。它只是指向不同的位置(例如,根目录不同,因此同一代码不能同时用于本地主机和服务器)。域的文件是否存储在本地服务器上的web根目录的子目录中,而不是存储在生产服务器上?反之亦然?不,看起来本地主机(Mac Mavericks)上的文档根指向
/Library/WebServer/Documents
,而我的文件存储在
/Users/myname/Sites/
文件夹中。这毫无意义。文件怎么可能不在DOCUMENT\u ROOT中?怎么可能
$\u SERVER['DOCUMENT\u ROOT']
仅在一台服务器上有效,而在另一台服务器上无效?我认为您指的是localhost。它只是指向不同的位置(例如,根目录不同,因此同一代码不能同时用于本地主机和服务器)。域的文件是否存储在本地服务器上的web根目录的子目录中,而不是存储在生产服务器上?反之亦然?不,看起来本地主机(Mac Mavericks)上的文档根指向
/Library/WebServer/Documents
,而我的文件存储在
/Users/myname/Sites/
文件夹中。这毫无意义。文件怎么可能不在文档根目录下?我明白你的意思了。但是,对于大型目录结构,有没有一种方法可以使用绝对路径?我不这么认为,您可能希望等待其他人提出解决方案,但我从来没有听说过更好的方法。抱歉,谢谢@SamApostel,这可能是最好的方法。不确定,但它非常简单直观。谢天谢地,我可能已经找到了一个更好的方法。我在这里没有遵循第二种方法。你能再解释一下吗?对于本地主机和服务器,有一个单独的
base.php
文件,其中包含不同的
$base
定义。我将该文件包含在每个网页php文件中,因此可以在每个网页中使用变量$base。我需要在每个页面上更新一次
。/../
,其中包含。此后,在网页上,当我想使用绝对路径时,我只需插入
。例如,
,或
/images/logo.png“alt=”site name“/>
。是吗?我明白你的意思。但是,对于大型目录结构,有没有一种方法可以使用绝对路径?我不这么认为,您可能希望等待其他人提出解决方案,但我从来没有听说过更好的方法。抱歉,谢谢@SamApostel,这可能是最好的方法。不确定,但它非常简单直观。谢天谢地,我可能已经找到了一个更好的方法。我在这里没有遵循第二种方法。你能再解释一下吗?对于本地主机和服务器,有一个单独的
base.php
文件,其中包含不同的
$base
定义。我将该文件包含在每个网页php文件中,因此可以在每个网页中使用变量$base。我需要在每个页面上更新一次
。/../
,其中包含。此后,在网页上,当我想使用绝对路径时,我只需插入
。例如,
,或
/images/logo.png“alt=”site name“/>
。是吗?我不太明白。是否有两个配置文件,一个用于服务器,另一个用于本地主机?何时使用DOCPATH vs ROOTURL?只有一个文件。在上载到服务器时更改值。自动化这些值会很好,但有时硬编码更安全。我喜欢在我的应用程序中设置一些东西,以便在初始化时设置