2011-06-20 10 views
0

私は以下のことを試みています。動的にその上に画像があるサーバを選択し、次にその画像をimg src = ""に表示します。うん、私は知っている、私はこのようなものを説明するの恐ろしいだが、これはそれをクリアする必要があります:(server0.domain.com上)img src = dl-main.php?f = filename.jpgリモートサーバから画像を取得する

DL-main.php

$url = 'http://server2.domain.com/offerimage.php?f='.$_GET["f"]; 
header('Location: '.$url) ; 

server2の上offerimage.php(。ランダムP:domain.com)多くの他のサーバー上

//Lots of link-protection stuff here 
$f = "/".$_GET["f"]; 
$url = 'http://server2.domain.com'.$uri_prefix.$m.'/'.$t_hex.$f; 
echo' <img src="'.$url.'"></img> '; 

dl.php()

img src="http://server0.domain.com/dl-main.php?f=lalala.gif" 

だから、それはかなりこのように書きますersonはimg srcをdl-main.php?f = server0のファイル名に追加します。 server0は、どのサーバーがイメージを提供するかを決定します。上記の例では、1つのサーバーしか使用していません。 server2

ここで、単にdl.phpにserver2.domain.comでホストされている写真を表示してみたいです。 dl-main.phpに直接アクセスすると、dl.phpにリダイレクトされ、要求されたイメージが表示されます。しかし、私がのimg srcにdl-main.phpを使用しても、イメージは表示されません。私はそれが動作することを期待していませんでしたが、それはショットの価値があったが、今私はもう何をすべきかわからない:o

私はここで達成しようとしているものの良い例です。

ありがとうございます!

+0

あなたdl.phpファイルで使用しているヘッダーを使用するためにはimage/...を生成する必要がありますあなたにイメージを与える「最後の」ファイル?) –

+0

タイトルにタグを入れる必要はありません。 – gnur

+0

@Gerbenそれはあなたの標準のlighttpdリンク保護スクリプトです:http://redmine.lighttpd.net/wiki/1/Docs:ModSecDownload @gnur woops、申し訳ありません! – natli

答えて

0

、あなたはそれだ(..ポストにimg

+0

これは固定されているように見えること 'ヘッダ( 'Content-Typeの:画像/ PNG');' '印刷のfile_get_contents($のURL);' しかし、普遍的な存在pherhapsが "Content-Typeは:イメージを/"常にpngを使うよりも?そして、これは実際には* server2の帯域幅だけを使用しているのですか? – natli

+0

ユニバーサルコンテンツタイプはありませんが、これを選択する必要はありません。 –

1

ここに問題があります。あなたは使用してserver0から画像を呼び出す:DL-main.phpコードがSERVER2にリダイレクト

<img src="http://server0.whatever/dl-main.php?f=thatimage.something" /> 

echo' <img src="'.$url.'"></img> '; 

基本的にオリジナルのimgタグは画像データの代わりに別のimgタグを取得します。そのため、ブラウザは画像をレンダリングできません。 imgタグの代わりにイメージの内容をエコーする必要があります。

ブラウザのデベロッパーツールを使用して、私の推測を確認するためにserver2へのリクエストを確認してください。

それは、あなたの2番目のスクリプト(offerimage)が text/plainを生産している動作しないことができる
+0

それは残念なことに助けにはなりませんでしたが、とにかく感謝します! RCは以下の解決策を提供したようです。 – natli

関連する問題