0

wordpress を自分の Web サイトに統合しており、wordpress の内外で既存の「ヘッダー」を使用したいと考えています。ヘッダーには画像が含まれています。

画像 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
4

3 に答える 3

0
$_SERVER['DOCUMENT_ROOT']

OS のサイト ルートへのローカル パスを表示する

現在のスクリプトから 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 で使用されるパスとは異なる可能性があることに注意してください。

于 2013-11-11T18:51:37.110 に答える
0

「ワードプレス」を使用している場合は、ファイルを「テーマ」に入れて、これを使用します。

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

「img/logo.png」がワードプレスのルートにある場合は、これを使用します。

<?php bloginfo('url').'/img/logo.png'; ?>
于 2013-11-11T19:21:11.190 に答える
0

使ってみて

echo "http://".$_SERVER['SERVER_NAME'].'/mywebsite/img/logo.png';
于 2013-11-11T18:55:47.920 に答える