Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
PHP define()函数作为URL_Php_Url_Xampp_Localhost - Fatal编程技术网

PHP define()函数作为URL

PHP define()函数作为URL,php,url,xampp,localhost,Php,Url,Xampp,Localhost,我正在为我在学校的总结工作开发一个网站。我正在使用XAMPPV3.2.1。以本地宿主该站点 在htdocs文件夹中,我的站点文件夹的配置如下: ibnm css js img 站点 关于 米迪亚 includes.php index.php(主页) 我的问题从这里开始:在index.php上,我将includes.php包含在我的站点文件夹中,这是一个带有define()函数的简单文件,因此我可以将站点的HTML标记上的常量打印为URL(如下所示) //includes.php

我正在为我在学校的总结工作开发一个网站。我正在使用XAMPPV3.2.1。以本地宿主该站点

htdocs
文件夹中,我的站点文件夹的配置如下:

  • ibnm
    • css
    • js
    • img
    • 站点
      • 关于
      • 米迪亚
      • includes.php
      • index.php(主页)
我的问题从这里开始:在
index.php
上,我将
includes.php
包含在我的站点文件夹中,这是一个带有define()函数的简单文件,因此我可以将站点的HTML标记上的常量打印为URL(如下所示)

//includes.php
//index.php

这是因为浏览器认为localhost是一个文件夹,然后在当前路径的顶部执行此操作,要解决的问题是在localhost之前添加
http://

define("css", "http://localhost/ibnm/css");

不使用绝对路径,您只需在CSS路径之前添加一个斜杠-

<link href="/<?= css; ?>/bootstrap.css" rel="stylesheet">

任何url都不是以http开头的,然后浏览器将假定它的相对路径,因此它将附加到您当前的路径,这就是为什么您得到localhost/ibnm/site/localhost/ibnm/css。
代码中有一个小的修改,在代码中硬编码服务器名称不是一个好主意,最好是动态获取服务器名称。这样,在real server中部署站点时无需进行更改

//includes.php
    <?php
       define("css",     $host='http://'.$_SERVER['SERVER_NAME'].'/ibnm/css');
    ?>
//includes.php

我会记住的。谢谢
//includes.php
    <?php
       define("css",     $host='http://'.$_SERVER['SERVER_NAME'].'/ibnm/css');
    ?>