menu


2017年6月21日水曜日

外部サーバーの画像をPHP経由で表示する

外部サーバー(PHPサーバー)にある画像をPHP経由で表示する方法
以下のソースのファイルを外部の画像のあるPHPサーバーに置く!
<img src="http://URL/img.php&fname=画像ファイル名">
で画像が表示されます。

<?php
if(isset($_REQUEST['fname'])){
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mimi_type = $finfo->file($_REQUEST['fname']);
header('Content-Type:'.$mimi_type);
reader($_REQUEST['fname']);
}
?>


この使い道は、他のブログやサイトから自分のサイトの画像を描画したい時などの使います。この方法だと、サイトにアクセス規制があっても描画が可能になります。
独自のフォルダ構成で画像のあるフォルダを隠したい時などにも有効です。(PHP内でフォルダを記載すれば、読み元にはファイル名しかわからない)
また、このimgタグでPHPが実行できるって事は、大変重要な意味があります。
通常は、HTMLから同一サーバー内のPHPは実行できます、しかし、外部サーバーのPHPは、実行できません。しかし、imgタグを使うと外部サーバーのPHPが実行できるんです。
予想ですが、FC2のアクセス解析などがこれを利用してそうです。
起動時に小さい画像が表示されます!
試していませんが、スタイルで非表示にして実行するとか、透明のPNGファイルを表示するとかすると、サイト画面には何も出力されずに実行できそうです。
サイトのアクセス解析など使い方しだいで面白い使い方ができそうです。

0 件のコメント:

コメントを投稿