- ベストアンサー
複数サイトの一括管理とは?
- 複数のサイトを一括管理する方法について教えてください。
- 特定のコードを複数のサイトに設置することで、基となるファイルを更新すると設置したサイトに自動で反映される仕組みです。
- 具体的には、file()関数を使用して指定の場所からテキストを読み込み、ランダムに表示する手法が用いられています。ただし、単純にテキストを記述するだけでは反映されません。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
実装できたならそれでいいと思いますよ。 ・・これだけだとアレなんでXMLを使ったやりとりを提案。 自分が提供するページであってもincludeするのはやはり怖いので。 --- 配信側 --------------------------- <?php //文字コード変換などは適当に ob_start('callback'); echo '<' . '?'; ?>xml version='1.0' encoding='UTF-8'?> <xml> <div> <a href="a"><b>aaa</b></a> <a href="a">bbb</a> </div> <div>あいうえお</div> </xml> <?php function callback($buffer) { header('content-type: text/xml; charset=utf-8'); return mb_convert_encoding($buffer, 'UTF-8', mb_internal_encoding()); } --- 受取側 --------------------------- <?php //mb_internal_encoding('UTF-8'); $xml = simplexml_load_file('http://example.com/news.php'); echo $xml->div[0]->asXml(); // ひとつめのDIVを表示 echo $xml->div[1]->asXml(); // ふたつめのDIVを表示 foreach ($xml as $child) { // 全部表示 echo $child->asXml() . "\n"; } これを世界的に標準化したものがRSSとかだったりするわけで。
その他の回答 (3)
- tany180sx
- ベストアンサー率63% (239/379)
私も今ググってみたレベルですが、URLに変わった文字は入ってませんか? ここの投稿は記号などが変換されるので念のため手打ちで、 $xml = simplexml_load_string(file_get_contents('http://...')); としたらどうでしょう。 SELinuxがどうのって記事もありましたが、1度試してみてください。
- tany180sx
- ベストアンサー率63% (239/379)
補足 XMLだと、XMLがおかしい時の例外処理かエラー処置をしておいた方がいいですね。 $xml = @simplexml_load_file('http://.../news.php'); if ($xml !== false) { 表示 }
お礼
tany180sxさんへ こんばんは。お世話になっております。 お返事が遅れて申し訳ありません。PCの調子が悪く、昨日ようやく復旧できたところです。 ところで、とても興味深いアドバイスをありがとう御座います。 このXMLですが、はじめての手にするのですが、アドバイスにあるnews.php側に直接アクセスすれば問題なく表示するものの、受取側のhtmlファイルの $xml = simplexml_load_file('?http://example.com/news.php'); この部分で、以下のようなエラーが出てしまいます。 本来であれば、エラーを調べて・・となるのは重々承知しておりますが、XMLを触れたのが初めてのことなので・・・。 Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "?http://example.com/news.php" 以上、どのような不具合が考えられるのでしょうか。 お忙しい中恐縮ですが、引き続きアドバイスなど頂戴できたら幸いです。宜しくお願い致します。
- tany180sx
- ベストアンサー率63% (239/379)
単に行単位でごちゃまぜにして それを出力しているだけのスクリプトかと。 参考にはならなさそうです。
お礼
tany180sxさんへ おはよう御座います。早速のお返事をありがとう御座います。 >参考にはならなさそうです。 そうですか・・ 実は今回の投稿後、上記コードとは別に、同じような(複数サイトの一部を一元管理)ことは出来ないものか?と、 include("http://○○.com/△△.php"); とやってみてはいるのですが、基となるファイル(上記でいう△△.php)を必要最低限の記述(このデータを別のファイルで操作・保存するため)するような場合、どのようなソースが適当かと思われますか? ちなみに、現在色々と試行錯誤している段階で、以下のようなものにすれば、とりあえず!表示はしています。(文字コードや、改行が反映されずに試行錯誤を繰り返してます・・) 複数ページに置くスクリプト <?php //include("http://www.○○com/△△.php"); //$text = mb_convert_encoding($tex,"sjis","EUC-JP"); //echo $text; echo mb_convert_encoding(include("http://www.○○com/△△.php"),"sjis","EUC-JP"); ?> 配信基となるスクリプト(http://www.○○com/△△.php) <a href="#">aaa</a> <a href="#">bbb</a> あいうえお かきくここ 以上、お忙しい中恐縮ですが、アドバイスなど頂戴できたら幸いです。
お礼
tany180sxさんへ こんばんは。お世話になっております。 >ここの投稿は記号などが変換されるので念のため手打ちで、 URLの末尾に、?が付いていると気付いてはいましたが、他の箇所にも変換されていたようで、その影響でエラーとなっていたようです。 ご親切な対応ありがとう御座いました! このxmlも含め、少し視野が広がった気がします。ありがとう御座いました!