-1

私のウェブサイト: www.test.com/abc/test

PHP ファイル: content.php

<!-- content starts here -->
<h2>Welcome test page</h2>
<p>This is test page.</p>
<p><img src="/abc/test/img.jpg" /></p>
<!-- content ends here -->

ファイルを実行してdocファイルとしてダウンロードする機能があります。「include_once()」メソッドを使用して PHP ファイルを実行し、適切なヘッダーを使用してそのファイルを doc ファイルとしてダウンロードしています。

画像以外はすべて問題ないようです。「相対パス」を使用して画像を参照しているためです。Doc ファイルは絶対パスで正常に動作していますが、相対パスの画像をロードしていません。

質問: content.php ファイルを画像の「絶対パス」に置き換えたくありません。PHP の定義済み関数を使用して、ファイルを読み取り、「相対から絶対」パスに置き換えて、ソース ファイルを変更せずにファイルをダウンロードする方法はありますか?

4

2 に答える 2

2

html <base>(内部headセクション) タグを使用して、画像に「ルート」を設定できます。

例えば:

<head>
..
<base href="http://yourdomain.com/optional_base_folder_to_all_images/" />
..
</head>
于 2013-07-16T08:50:16.600 に答える
0

おそらく、ソースコードを file_get_contents で変数に入れることができ、その後、すべての画像パスを str_replace に置き換えることができます

例:

$source_code = file_get_contents(path/to/file.php);

$new_source = str_replace('<img src="/', '<img src="http://www.test.com/abc/test/', $source_code);
于 2013-07-16T08:50:30.377 に答える