我尝试了几种方法来回显href属性中的绝对路径,但是没有用。这是我在说什么的简要介绍。
我将head标签切成一个head.php文件。我必须使用相同的头文件中的其他页面。由于文档的根目录级别,我在使用相对路径时并没有收到短图标。因此,我决定以面向对象的方式使用绝对路径。
class Config {
public static $url = null;
public static $ext = null;
public function __construct()
{
self::$url = $_SERVER['DOCUMENT_ROOT'];
self::$ext = '/bcc-wd-batch1/imran17507/php/ecommerce/';
}
}
然后在head.php
中输入
<?php
include_once($_SERVER['DOCUMENT_ROOT'] . '/bcc-wd-batch1/imran17507/php/ecommerce/vendor/autoload.php');
use Site\Utility\Config;
$config = new Config();
$url = "file:///".Config::$url.Config::$ext;
//Tried $url = Config::$url.Config::$ext; too
//echo $url;
?>
<--This is where I wan't to make the changes.-->
<link rel="apple-touch-icon" sizes="180x180" href="../../../medias/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="../../../medias/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="../../../medias/favicon/favicon-16x16.png">
<link rel="manifest" href="../../../medias/favicon/site.webmanifest">
<link rel="mask-icon" href="../../../medias/favicon/safari-pinned-tab.svg" color="#5bbad5">
以及我在链接标记中尝试过的变体形式:
1。
<?php
echo '<link rel="apple-touch-icon" sizes="180x180" href="'.$url.'medias/favicon/apple-touch-icon.png">';
echo '<link rel="icon" type="image/png" sizes="32x32" href="'.$url.'medias/favicon/favicon-32x32.png">';
echo '<link rel="icon" type="image/png" sizes="16x16" href="'.$url.'medias/favicon/favicon-16x16.png">';
echo '<link rel="manifest" href="'.$url.'medias/favicon/site.webmanifest">';
echo '<link rel="mask-icon" href="'.$url.'medias/favicon/safari-pinned-tab.svg" color="#5bbad5">';
echo '<meta name="msapplication-TileColor" content="#da532c">';
echo '<meta name="theme-color" content="#ffffff">';
?>
2。
<link rel="apple-touch-icon" sizes="180x180" href="<?=$url;?>medias/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="<?=$url;?>medias/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="<?=$url;?>medias/favicon/favicon-16x16.png">
<link rel="manifest" href="<?=$url;?>medias/favicon/site.webmanifest">
<link rel="mask-icon" href="<?=$url;?>medias/favicon/safari-pinned-tab.svg" color="#5bbad5">
现在我正式不合时宜。
答案 0 :(得分:1)
因此,我想在href属性中使用绝对路径。我不知道的是,PHP中的绝对路径和html中的绝对路径是不同的。
PHP中的绝对路径
$_SERVER['DOCUMENT_ROOT'];
但是HTML中的绝对路径是:
href="/pages/index.php"
从字面上看,正斜杠(/)是我的问题的答案以及尝试变体和寻找答案的时间
同样,html中的绝对路径只是一个正斜杠
答案 1 :(得分:0)
我不知道这是否有助于解决您的问题,但是您可以在头内设置base
标签,这意味着所有相关内容都将从此处引用:
<head>
<title></title>
<base href="https://www.example.com/">
<link.....>
<script.....>
</head>