尝试获取动态文件位置路径


Trying to get dynamic file location path

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

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

我怎样才能获得一个适用于文字新闻内部和外部图像的路径。

我试过了

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

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

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

尝试使用

echo "http://".$_SERVER['SERVER_NAME'].'/mywebsite/img/logo.png';
$_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 中使用的路径。

如果您使用的是"WordPress",请将文件放入"主题"中并使用以下:

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

如果你的"img/logo.png"在你的wordpress的根目录中,请使用这个:

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