当方の管理するサイト(A)に画像をアップし、
その画像を他のサイト(B)で表示する時に
Aに置くPHPファイルでBの訪問者のIPアドレス別に
表示する画像を変えられるのでしょうか。
もし可能でしたら、これからPHPを学習しようと考えており、
当方が必要とする部分が載っている本やサイトがありましたら
ご教授願えるとありがたいです。
こちらのOKWaveに行き着くまでに調べた結果、
CGIでは当方がしたいことができるようです。
蛇足かもしれませんがURLを載せておきます。
http://72.14.235.104/search?q=cache:ERkmUmpqInwJ …
どうぞよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
サイト(B)で画像を表示するタグが
下記のような単純な形式であれば、それ程難しくありません。
<IMG src="http://サイト(A)/○○○.php">
(○○○.phpは、画像を表示するスクリプト)
その場合、下記のような感じでいけると思います。
//訪問者のIPで画像を変える*********
$reqIP = $_SERVER["REMOTE_ADDR"];
if ($reqIP == "xxx.xxx.xxx.xxx") {
$src = "sample1.jpg";
}else{
$src = "sample2.jpg";
}
//画像を返す*******
header("Content-type: image/jpeg");
header("Content-Disposition: inline; filename=" . $src);
header("Content-length: " . filesize($src));
readfile($src);
サイト(B)でもスクリプトが走っていて、
fopen等の関数で(A)サーバーから画像を取ってくるような場合は、
ちょっとややこしくなります。
この回答への補足
ご回答ありがとうございます。
また具体的なスクリプトを書いてくださり助かりました。
それほど難しくないとのことなので、
見よう見まねでやってみました。
しかしながら、サイトBでは画像が表示されませんでした。
テストに用いたのは、サイトAがxreaで
サイトBがジオシティーズです。
サイトBでの画像表示のタグは
<IMG src="http://サイト(A)/○○○.php">
を使いました。
せめてサイトAの中だけででも
IPアドレスによって画像表示を変えられないかと
いろいろ検索し試しましたら
この点に関しましてはなんとかできました。
<?php
$reqIP = $_SERVER["REMOTE_ADDR"];
if( $reqIP == "IPアドレス"){
echo "<img src=a.jpg>";
}
else{
echo "<img src=b.jpg>";
}
?>
<?php
header("Content-type: image/jpeg");
header("Content-Disposition: inline; filename=" . $src);
header("Content-length: " . filesize($src));
readfile($src);
?>
上記のようにしまして、IPアドレスを当方の物にすると
a.jpgが表示され、当方以外のものにすると
b.jpgが表示されました。
もう少しでサイトBでも画像を表示できそうな気がするのですが
なんとか方法はないものでしょうか。
よろしくお願いいたします。
No.3
- 回答日時:
echo "<img src=a.jpg>";
ではなく
$src = "a.jpg";
としてもダメなんでしょうか?
そもそも、サイトBに
<IMG src="http://サイト(A)/a.jpg">
と書いて、画像が表示されるのが前提ですが。
パスが違ったりしてませんよね?
ありがとうございます。
おかげさまでできました!
様々な側面からのご指摘
本当にありがとうございました。
不要かもしれませんが、
問題解決に至るまでの過程を記しておきます。
ご指摘いただきましたとおりやっていましたが
なぜか上手くいきませんでした。
パスの記入ミスもありませんでした。
そこで色々検索しました結果、
xreaの無料スペースではreadfile()関数の働きが
制限されるとのことでした。
http://sb.xrea.com/archive/index.php/t-10555.html
上記URLにありますとおり、
ディレクトリ「x」を利用することにより
当方の望む結果を得ることができました。
PHPをじっくり学んでからでないと
やりたいことができないだろうと思いながらも
この場を借り質問してみましてよかったです。
ありがとうございました!
No.1
- 回答日時:
> IPアドレス別に表示する画像を変えられますか?
変えられます。比較的簡単なスクリプトです。
接続者のIPアドレスは、$_SERVER['REMOTE_ADDR']で取得出来ますので、それに合わせて変えれば良いかと思います。
イメージの出力は、例えば下記のようなimg.phpを作成し
<?php
header('Content-type: image/jpeg');
if($_SERVER['REMOTE_HOST'] == "192.168.0.10"){
$fname = "192.168.0.10の時に表示するファイル名";
}else{
$fname = "192.168.0.10以外の時に表示するファイル名";
}
readfile($fname);
?>
として、画像表示には
<img src="http://......../img.php" />
とすれば訪問者のIPアドレス別に表示する画像を変える事が出来ます。
(スクリプトは未検証です)
参考まで。
この回答への補足
ご回答ありがとうございます。
また具体的なスクリプトを書いてくださり助かりました。
比較的簡単にできるとのことなので、
見よう見まねでやってみました。
しかしながら、サイトBでは画像が表示されませんでした。
テストに用いたのは、サイトAがxreaで
サイトBがジオシティーズです。
サイトBでの画像表示のタグは
<img src="http://......../img.php" />
を使いました。
せめてサイトAの中だけででも
IPアドレスによって画像表示を変えられないかと
いろいろ検索し試しましたら
この点に関しましてはなんとかできました。
<?php
$reqIP = $_SERVER["REMOTE_ADDR"];
if( $reqIP == "IPアドレス"){
echo "<img src=a.jpg>";
}
else{
echo "<img src=b.jpg>";
}
?>
<?php
header("Content-type: image/jpeg");
header("Content-Disposition: inline; filename=" . $src);
header("Content-length: " . filesize($src));
readfile($src);
?>
上記のようにしまして、IPアドレスを当方の物にすると
a.jpgが表示され、当方以外のものにすると
b.jpgが表示されました。
もう少しでサイトBでも画像を表示できそうな気がするのですが
なんとか方法はないものでしょうか。
よろしくお願いいたします。
ご回答ありがとうございました。
最初、当方の認識不足のため望む結果を得られませんでしたが、
いろいろ調べた結果ご教授いただいたことで問題解決できました。
的確かつ具体的なアドバイスありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBSの「MsgBox」について
-
Webbrowser上に表示した画像を...
-
PHPで吐き出した画像にリンクを...
-
ListViewコントロールでサムネ...
-
透過PNGが透過されない!!
-
GDI+を使ったビット数とDPIの扱い
-
スマートフォンから画像のアッ...
-
C# Excelファイルへの画像挿入。
-
PostgreSQLのラージオブジェク...
-
アップロード画像数でCSSを分け...
-
PythonのTkinter詳しい方へ。画...
-
Apache,phpで画像が表示されない
-
header(Location: next.php) だ...
-
PHPのif文でその処理を途中で抜...
-
onedrive にexcelファイルをア...
-
【file_exists】ファイルが存在...
-
PHPを使ってのサーバ上ファイル...
-
phpのクラスにて別ファイルの変...
-
MySQLのベースに書かれたプログ...
-
Subversionのリポジトリの削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
透過PNGが透過されない!!
-
拡張子php画像をjpg画像等に変...
-
Illustratorで文字と画像を流し...
-
VBAでJPGサイズ変更
-
手作業で埋め込んだ、UserForm1...
-
PythonのTkinter詳しい方へ。画...
-
「imagejpeg」(GD)で作成した...
-
GDI+を使ったビット数とDPIの扱い
-
php,mysqlにて画像パス保存/表...
-
PHPで吐き出した画像にリンクを...
-
【PHP】画像が表示されず「×」...
-
Macのxamppでの画像表示について
-
ビットマップ画像を読み込むプ...
-
ListViewコントロールでサムネ...
-
Webbrowser上に表示した画像を...
-
PHPのGDライブラリについて
-
pictureboxに表示した画像のフ...
-
GDの画像変換でサーバーに負荷
-
C#とJavaで、MP3タグの画像を表...
おすすめ情報