2009-04-30 8 views
3

イメージを動的に生成されたイメージ(PHPを使用)にリダイレクトすることはできますか?PHPによって動的に生成された画像に<img>タグを付けますか?

私は動的に作成された画像を持っていて、それは拡張子 ".PHP"(明らかに)を持っており、そのサーバーは私のコントロール下にありません。だから私は<img src="somename.jpg"/>とすぐにリンクすることができ、動的に生成されたイメージが表示されるように(自分のサーバー上の)「somename.jpg」を(リモートサーバ上の私のコントロール下にある)「remoteserver/dynamicimage.php」にリダイレクトしたい。

可能であれば教えてください。あなたの.htaccessファイル

RewriteEngine on 
RewriteRule ^(.*)\.jpg$ /scripts/$1.php 
+0

笑!私は最後に、代わりに最も簡単な解決策を見つけました。私は 'image.jpg'という名前のフォルダを作成し、その中にリモートサーバにリダイレクトされたPHPファイルを作成しました。それは働いた:) – apnerve

答えて

2

ブラウザにこのような何かを追加すること

+0

答えをありがとう。まあ...この "Forcetype"の使い方を教えてくれますか? – apnerve

+0

リンクが追加されました。しかし、基本的にそれは私が答えで言うよりもそれ以上のものではありません。 .htaccessを作成し、コードをコピーして貼り付けてください。ファイル名を変更します。完了しました。 –

+0

PHPを呼び出す必要はありません。 – Gumbo

2

てみた画像のためのリダイレクトに従います。 「somename.jpg」と呼ばれるPHPファイルを作成し、追加します。

<Files somename.jpg> 
    ForceType application/x-httpd-php 
</Files> 

<?php 
header('Location: http://www.otherserver.com/image.php'); 

PHPなどの.jpgファイルを処理するために、サーバーに伝えるために.htaccessファイルにApacheのディレクティブを使用しForceType

拡張子.jpgが本当に必要ない場合は、単にsomename.phpというファイルを呼び出してください。

私はそれを試していないが、おそらく、同様mod_aliasを使ってこれを実現できます。

Redirect somename.jpg http://www.otherserver.com/image.php 

これは、同様に.htaccessファイルに行くだろう。

1

それは可能ですが、HTTPリダイレクトにつながる:

RewriteEngine on 
RewriteRule ^somename\.jpg$ http://remoteserver/dynamicimage.php [L] 

代替サーバーがリモートリソースを要求し、それをクライアントに戻って通過するように、(P flagを参照)proxyを用いることであろう。

2

ヘッダー機能は、HTTPヘッダーを制御します.HTTPヘッダーは、ブラウザーがファイルの種類を決定するために使用するものです(または、必要に応じて)。スクリプトが画像ファイルを生成していることをブラウザーに伝えるために使用できますむしろ、HTMLスクリプトの出力よりも、ダウンロード:

header('Content-type: image/jpeg'); 
header('Content-Disposition: attachment; filename="somename.jpg"'); 
+0

+1 - httpサーバの再設定が必要ないことは言うまでもありません。 – Christoffer

0

別のはるかに複雑なく、信じられないほどの強力な方法は、この地域のイメージの場所のURLのためにアクティブになるいくつかのハンドラコードを記述することです。

このURLは外部URLからデータを取得し、適切なMIMEタイプのデータを出力します。

また、このデータを実現可能なものに基づいてキャッシュするコードを記述します。

このようにして、イメージの実際の場所を決して譲ることはなく、あなたのサイトには表示されないlogindataやサードパーティのCookieなどの秘密の資格情報を使用することもできます。

このすべては、単純にApacheの設定でリダイレクトを設定するのがはるかに難しいです。 URLが個人情報を漏洩する場合は、このようなことをしました。

関連する問題