2

次のように、画像srcを介して呼び出されているPHPスクリプトで実行できるアクションを確認しようとしています。

<img src="http://example.com/script.php" />

今、私はスクリプト.phpにPHPheader()関数を含めようとしました:

<?php
header("Location: http://example.com");

また、imgが表示することを期待して画像のURLをエコーし​​ようとしましたが、表示されませんでした。

<?php
echo 'http://example.com/image.png';

img src属性で呼び出されているPHPスクリプトでそのようなことを行う方法はありますか?

4

5 に答える 5

1

readfile()から画像ファイルを出力する方法としてをチェックしてくださいscript.php

readfile($file);

詳細については、こちらのマニュアルをご覧ください。

http://php.net/manual/en/function.readfile.php

ここで、例1は、ヘッダーの設定方法を示しています。

マニュアルには次のようにも記載されています。

readfile()は、大きなファイルを送信する場合でも、それ自体ではメモリの問題を引き起こしません。

この関数では、URLをファイル名として使用できます

ps:これは、Wordpress Multisiteがユーザーがアップロードした(画像などの)ファイルを開くために使用した方法でした。

于 2013-03-02T15:18:58.243 に答える
1

img src属性で呼び出されているPHPスクリプトでそのようなことを行う方法はありますか?

srcいいえ。imgタグのとして使用されるリソースは、画像データを出力する必要があります。それ以外は何もありません。

いくつかの例外があります。リダイレクトしますが、header("location: ....")リダイレクトは、例で示しているWebサイトではなく、別の有効な画像リソースを指す必要があります。

于 2013-03-02T15:12:13.593 に答える
1

script.phpは、正しいヘッダーを持つ画像の出力を返す必要があります例えば:

<img src="/html/img/script.php" />

// Script.php

$file = "tiger.jpeg";
$type = "image/jpeg";
header("Content-Type: $type");
header("Content-Length: " . filesize($file));
readfile($file);
于 2013-03-02T15:45:16.463 に答える
0

src タグは画像ファイルを直接指す必要があることに注意してください。ただし、PHP を使用してイメージを作成することは可能です。たとえば、GD ライブラリを使用します。

http://php.net/manual/en/book.image.php

だから使用:

<img src="http://example.com/script.php" />

たとえば、次の例を使用して、script.php が実際に画像ファイルを出力する限り、可能です。

http://www.php.net/manual/en/image.examples-png.php

私は過去にこの種の処理を使用して、ブローカー Web サイトの JPG 画像にテキストをオーバーレイしました (例: 新規、販売済み、賃貸用など)。

于 2013-03-02T15:45:16.910 に答える