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

时间:2013-11-11 18:34:08

标签: php wordpress

我将wordpress整合到我的网站中,并希望在wordpress内部和外部使用我现有的“标题”。标题包含图像。

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

如何在文字内外获得适用于图像的路径。

我试过

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

它看起来在chrome检查器中输出正确的uri,但是当它悬停在路径上时,它的前缀是网站root,如下所示:

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

3 个答案:

答案 0 :(得分:0)

$_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;

但请记住,如果您使用网络服务器的重写规则,则此路径可能不是网址中使用的路径。

答案 1 :(得分:0)

尝试使用

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

答案 2 :(得分:0)

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

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

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

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