ホームページ > バックエンド開発 > PHPチュートリアル > PHP で画像を直接表示するにはどうすればよいですか?

PHP で画像を直接表示するにはどうすればよいですか?

WBOY
リリース: 2016-06-23 14:28:32
オリジナル
1284 人が閲覧しました

たとえば、次のような場合があります:

<img src="../server/getfile.php?id=1339118000">
ログイン後にコピー

getfile.php は、ID に従ってデータベース内の対応する画像パスを見つけ、画像データをブラウザに送信します
答えてください (この質問はとても簡単ですよね? でも理解できません。ほんの数行のコードがあります)


ディスカッションに返信 (解決策)

さて、次のようなコードを見つけました:

	$filename='../img/3c_44141_f_en.jpg';	$size = getimagesize($filename);	$fp = fopen($filename, "rb");	if ($size && $fp) {		header("Content-type: {$size['mime']}");		fpassthru($fp);		exit;	} else {		// error	}
ログイン後にコピー

テストは利用可能です。他に何に注意すればよいでしょうか? etag 属性があるようです。つまり、更新し続ける場合、PHP がイメージを再読み取りしないようにするにはどうすればよいですか?

来てくれた人にはポイントを差し上げます
http://blog.csdn.net/bwz290845851/article/details/7026412

投稿者のコードを見て勉強するためにここに来ました

効率に問題がありますプログラムを使用して静的リソースを出力します。 Web サーバーよりも効率がはるかに低く、大量のリソースを消費します。
トラフィックが多くない場合は、消費量を気にしなくても問題ありません。
リソース ファイルを非表示にするユースケースの場合、PHP は 301 または 302 リダイレクトで応答するだけです。
確認したい場合は、これが唯一の方法です。

静的リソースを出力するプログラムの使用効率に問題があります。 Web サーバーよりも効率がはるかに低く、大量のリソースを消費します。
トラフィックが多くない場合は、消費量を気にしなくても問題ありません。
リソース ファイルを非表示にするユースケースの場合、PHP は 301 または 302 リダイレクトで応答するだけです。
確認したい場合は、これが唯一の方法です。
兄弟、これが私が言いたいことです...
統一するために、すべてのリソース ファイルは隠しメソッドを使用して取得されます。今、ブラウジング時に同じインターフェイスを使用できるように img を取得することを考えています。
ただし 301 (永続的)移動しました)はどう書くべきですか?例も見つかりません
意味はありませんが、引き続き助けてください〜

ああ、試してみました、その後に場所を追加してください、ありがとう。

Guanwei ブログ [ http://www.guanwei.org/ ] より転載
この記事のリンクアドレス: http://www.guanwei.org/post/PHPnotes/04/php-redirect-methods.html


PHP ページジャンプ 1. header() 関数

header() 関数は、PHP でページジャンプするための非常に簡単なメソッドです。 header() 関数の主な機能は、HTTP プロトコル ヘッダー (ヘッダー) をブラウザに出力することです。

header() 関数は次のように定義されます:

void header (string string [,bool replace [,int http_response_code]])

オプションのパラメーター replace は、前の同様のヘッダーを置き換えるか、ヘッダーを追加するかを示します。同じタイプの場合、デフォルトでは置き換えられます。

2 番目のオプションのパラメータ http_response_code は、HTTP 対応コードを指定された値に強制します。 header 関数の Location タイプ ヘッダーは特別なヘッダー呼び出しであり、ページ ジャンプの実装によく使用されます。注: 1. location と「:」の間にスペースを入れることはできません。スペースを入れないとジャンプしません。

2. ヘッダーを使用する前に出力を行うことはできません。

3. ヘッダー以降の PHP コードも実行されます。たとえば、ブラウザを Guanwei ブログにリダイレクトします

< ?php
// ブラウザをリダイレクトします
header("Location: http://www.guanwei.org")
// リダイレクト後に後続のコードが実行されません
exit;
?>

多くの Web サイトがこれを行って、画像リソースを隠しているのを見かけます。
でも、なぜこのように隠すのか教えてください。
名前を付けて画像を保存することができます。
このように隠すことに何のメリットがありますか?

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート