【问题标题】:PHP Include Absolute/Relative Paths CSSPHP 包含绝对/相对路径 CSS
【发布时间】:2013-12-17 02:39:45
【问题描述】:

文件夹中的 PHP 文件未呈现我的默认 CSS 文件。

我有一个“document-head.php”文件,其中包含:

<link type="text/css" rel="stylesheet" href="assets/css/main.css"/>

在每个文件中,我都包含这个“document-head.php”;

比如我的目录是:

index.php
|__ assets
    |__ css
        |__ main.css
|__ includes

    |__ document-head.php

|__ components
    |__ secondary.php

|__ partials

在“components/secondary.php”内包含

 <?php include('../_includes/document_head.php'); ?>

并且在“index.php”中包含:

<?php include('_includes/document_head.php'); ?>

如何确保包含此“document_head.php”的文件夹中的文件始终呈现 CSS/JS 文件?

编辑: 我不能使用绝对 URL 的原因是其中一位开发人员配置了一个脚本,允许我将我的应用程序上传到一个 FTP,我可以在其中命名一个新文件夹。例如,如果我的所有文件都在“secret-app”中,在终端中,我可以使用新文件夹“test-app”将我的应用程序发布到 FTP,它将创建“mydomain.com/test-app/secret-应用程序”。 (这是一个贫民窟系统,但它对我的特殊需求很有用。)

【问题讨论】:

  • 在href里设置域名有问题吗?
  • 使用setting/config文件设置绝对路径前缀,并在每个php中加载config文件(一般我叫文件require_once.php
  • 为什么不能使用绝对网址? /assets/css/main.css?
  • 我不能使用绝对 URL 的原因是其中一位开发人员配置了一个脚本,允许我将我的应用程序上传到我可以命名新文件夹的 FTP。例如,如果我所有的文件都在“secret-app”中,在终端中我可以使用新文件夹“test-app”发布我的应用程序,它将加载“mydomain.com/test-app/secret-app”。 (这是一个贫民窟系统,但它对我的特殊需求很有用。
  • 然后您需要找出基本 url,这可以通过 PHP($_SERVER 变量)来实现。在 HTML 中,您可以使用绝对 url,利用文档头部的基本标记(包含应用程序的基本 url,mydomain.com/test-app/secret-app/) - 请参阅 w3schools.com/tags/tag_base.asp跨度>

标签: php


【解决方案1】:

尝试更改为绝对 href url,例如:

<link type="text/css" rel="stylesheet" href="/yourApp/assets/css/main.css"/>

如果您使用的是框架,您将有多种方法来获取您的 base_url

【讨论】:

  • 编辑为什么我不能使用绝对路径。
  • 使用$_SERVER['SERVER_NAME']获取base_url的任何方式
  • 当我在本地测试时,它是“localhost”,但是当我上传到我的服务器时,它是“mydomain”
  • 如果只放 / 则不需要指定本地或远程域,只需要在两个服务器中具有相同的路径即可工作。
【解决方案2】:

如果此样式表在 document_head.php 中

<link type="text/css" rel="stylesheet" href="assets/css/main.css"/>

然后试试这个:

<link type="text/css" rel="stylesheet" href="../assets/css/main.css"/>

对不起我的语法:D

【讨论】:

    猜你喜欢
    • 2014-05-19
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多