【问题标题】:Trying to get dynamic file location path试图获取动态文件位置路径
【发布时间】:2023-03-10 03:35:01
【问题描述】:

我正在将 wordpress 集成到我的网站中,并希望在 wordpress 内外使用我现有的“标题”。标头包含图像。

图像 SRC 目前是“img/logo.png”,但是当 wordpress 中需要标题时,该路径不是相对的,因此不会显示图像。

如何获得适用于 wordpress 内部和外部图像的路径。

我试过了

<?php echo $_SERVER['DOCUMENT_ROOT'].'/mywebsite/img/logo.png'; ?>

它看起来在 chrome 检查器中输出正确的 uri,但是当将鼠标悬停在路径上时,其前缀为网站根目录,如下所示:

http://localhost/mywebsite/D:/program files/wamp/www/mywebsite

【问题讨论】:

  • 我刚刚发现的另一个解决方案是使用“base”标签将我的 wordpress 基本 url 设置为我的网站文件夹,而不是 /blog 文件夹。

标签: php wordpress


【解决方案1】:

尝试使用

echo "http://".$_SERVER['SERVER_NAME'].'/mywebsite/img/logo.png';

【讨论】:

    【解决方案2】:
    $_SERVER['DOCUMENT_ROOT']
    

    向您显示操作系统中站点根目录的本地路径

    如果您知道当前脚本从中尝试获取相对于 Web 根目录的路径,那么您可以使用下面的代码。

    $root = realpath($_SERVER['DOCUMENT_ROOT']); // site root of web server
    $currentDir = realpath(__DIR__); // OS path to current directory where php file
    $pathFromRoot = substr($currentDir, strlen($root)); // path related to web root
    if (DIRECTORY_SEPARATOR != '/') // replace directory separator if windows
        $pathFromRoot = str_replace(DIRECTORY_SEPARATOR, '/', $pathFromRoot);
    echo $pathFromRoot;
    

    但请记住,如果您对 Web 服务器使用重写规则,则此路径可以与 url 中使用的路径不同。

    【讨论】:

      【解决方案3】:

      如果您使用“wordpress”,请将文件放入“主题”并使用:

      <?php echo get_template_directory_uri().'/img/logo.png';?>
      

      如果您的“img/logo.png”位于 wordpress 的根目录中,请使用:

      <?php bloginfo('url').'/img/logo.png'; ?>
      

      【讨论】:

        猜你喜欢
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 2015-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多