0

私はちょうど疑問に思った..
いくつかの写真は、次のようなURLに「引数」を持つことができるのを見てきました:

http://example.com/images/picture.png?width=120

しかし、グーグルで検索すると、結果が次のようになる指示が表示されます。

http://example.com/images/picture.php?width=120
(with header("Content-type: image/png") and so on)

(どのように)「画像」で実行されるphpコードを作成できますか?

4

5 に答える 5

5

実際、ファイル拡張子は誰も気にしません。通常、デスクトップ アプリケーションでは、ファイルをダブルクリックするだけでファイルを処理する方法についてのヒントにすぎません。ただし、URL の背後には、任意の言語の通常のスクリプトがありContent-Type: image/png、画像と共にヘッダーをバイナリとして返します。

たとえば、PHPで

// do something
header('Content-Type: image/png');
readfile('/local/path/to/a/prepared/image.png');
于 2012-07-11T10:14:13.230 に答える
1

それはいけません。ただし、誰かが URL A (画像を指しているように見えるものを含む) を要求したときに URL B (PHP スクリプト) を取得するように Web サーバーを構成することができます。実際、ここが重要なポイントです。URL は、要求を満たす責任を負うエンティティが意味することだけを意味します。

すべての一般的な Web サーバー ( Apacheなど) で URL 書き換えを行う方法に関する公式ドキュメントがあります。

于 2012-07-11T10:12:58.527 に答える
0

これを見てください: http://www.les-stooges.org/pascal/webdesign/vignettes/index.php?la=en
それはまさにあなたが求めるものです ;)

追加:

<img src='vignette.php?f=example1.jpg'> 
于 2012-07-11T10:14:16.027 に答える
0

他の人が述べたように、URL 書き換えは、URL a を URL b に変換することを担当し、ユーザーが .png .jpg .whatever を使用して .php に変換できるようにします。

php ファイル自体が生の画像データを出力し、そのヘッダーを設定して、ブラウザが返されたデータの処理方法を認識できるようにします。

于 2012-07-11T10:14:28.253 に答える
0

この URL に応答してWeb サーバーにスクリプトを実行させるだけです。

URL はファイルではありません。URL は、Web サーバーが処理して応答を返すことができる単なる要求です。.png で終わる任意のファイルを PHP ファイルとして実行するように Web サーバーを構成するか、URL 書き換えルールを使用して、ディレクトリ内のファイルを提供する代わりに、通常の .php ファイルで URL を処理する必要があることをサーバーに伝えることができます。 .

Web サーバーはブラック ボックスです。クライアントからのリクエストを受け取り、何らかのデータを返します。リクエストに文字列「.png」が含まれているからといって、サーバーハード ディスクから直接 PNG 画像を提供する必要があるわけではありません。

                    +-------------------+
---- request ---->  |     Web Server    |
                    |  Here be dragons! |
<--- response ----  |  Or PHP scripts.  |
                    +-------------------+
于 2012-07-11T10:14:34.530 に答える