• ベストアンサー

allow_url_fopen=offの設定でRSSやXMLファイルを読み込みたい。

allow_url_fopen=offの設定でRSSやXMLファイルを 読み込みたいんですがどうやったらいいかわかりません。 ご存知の方教えてください。

  • PHP
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1の参考URLのサンプルと同じですが、 具体的なサンプルを作成してみました。 眞鍋かをりさんのブログのRSSを取り込みます。 <?php $fp = fsockopen("rss.rssad.jp", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET /rss/nifty/manabe HTTP/1.1\r\n"; $out .= "Host: rss.rssad.jp\r\n"; $out .= "Content-type: text/xml\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); } ?> サーバーからのレスポンスも含まれることに注意。

SoHeart
質問者

お礼

サンプル試してみました。ばっちり動きました。 回答ありがとうございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

ソケットを使うのかなあ

参考URL:
http://jp.php.net/manual/ja/function.fsockopen.php

関連するQ&A

  • allow_url_fopen=offのまま、

    allow_url_fopen=offのまま、URLの存在チェックは出来ますか? つまり、@fopen()などの代表的なものは使えなくなると思うのですが。 環境: http://www.hoge.com/(日本語版) http://www.en.hoge.com/(英語版) ※フォルダ構成は同じ。 ※ファイル名は、ほぼ同じ(たまにイレギュラーが存在する。) 日本語版ページに、英語版へのリンクを、 常に<a href="hogehoge">English</a>と表示するのではなく、 英語版のURLが存在していたら、表示する様にしたいのです。 存在しない場合には、ふつうに、English とグレーアウトさせます。

    • ベストアンサー
    • PHP
  • 他サーバーにあるファイルに書き込みを行いたい。allow url fopen関連?

    いつもお世話になっております。 環境:PHP5,SQLite3 サーバA…サーバBへの書き込み処理をするPHPファイルを置く サーバB…書き込みが行われるファイルを置く(ファイルが無ければ作成される) サーバAに置いたPHPスクリプトファイルで、 サーバBに置いてあるファイル(例えばPHPファイル)に書き込み処理をする場合、 PHPやサーバソフト(Apache)の設定を、 どのようにすれば良いでしょうか。 allow url fopenなどをちょこっと調べてみたのですが、 よく分かりませんでした。 サーバA、B両方のphp.iniに対し、 何らかの設定をする必要があるのでしょうか。 それとも、片方だけで良い?! また、ファイルの書き込み権限の設定も関係してくる話だと思います。 書き込み側と、書き込まれる側の権限設定(chmod)についても、 併せて教えて頂けると助かります。 どなたか、よろしくお願いします。

    • ベストアンサー
    • PHP
  • rss xmlをhtmlで表示させる。

    rss.xmlでつくったxmlファイルをhtmlで表示させたいのですが、 <link rel="alternate" type="application/rss+xml" title="RSS" href="rss/rss.xml" /> あるサイトでxmlファイル+上記のコードを<head>タグ内にいれると表示される。 と、説明が終わっているのですが、コードを打ちこんでも表示されません。 普通に考えて、これだけだとhtmlページ内のbodyのどこにxmlファイルを表示するのかも指定できてません。 質問は 1、xmlファイルが表示されないのは、何らかのコードをbody内に加えて表示する命令が無いからでしょうか。 その場合どのようなコードを打つべきでしょうか。 2、この方法がそもそも根本的に適切でないのでしょうか。 サイトで調べているとjavasqriptまたはphpによるxmlファイルの表示が多く見受けられました。 phpはまだ手が出せないのでjavasqriptの方法を取る場合、どのようなコードを使えばよいでしょうか。 というのも、サイトによってコードが異なるように感じられます。一番一般的であったり、軽くてよいコードなどがあれば教えていただきたいです。 回答よろしくお願いします。

    • 締切済み
    • XML
  • fopenがURL指定で開けない

    別サーバーにあるwmvファイルをDLさせようとしているのですが、以下のWarningが出てURL指定でfopenで開けません。 Warning: php_network_getaddresses: getaddrinfo failed: name or service is not known in [URL] php.iniで、allow_url_fopen はONになっており、ファイルを同サーバー内に置いてパス指定した場合は成功するのですが。。。 3日かけて調べましたが全く手詰まりです。。 何か他に考えられる原因はありますでしょうか? すみませんがどなたか感所のある方、宜しくお願いします。<(_ _)> 環境: RedHat Linux Apache1.3.3 PHP4.3.x

    • 締切済み
    • PHP
  • RSSファイルのURLとは?

    自分のブログの更新や情報を読み取って 様々なサービスを受けるサイトに登録しました。 その中で、 「RSSファイルのURL」を入れるようなのですが、 何をどう記入すれば良いのかわかりません。 ブログの管理画面に入っても、 自分のブログの「RSS」など書いていません。 どうすればRSSのURLを取得できるのでしょうか?? よろしくお願いします。

  • PHPでXMLファイルを読み込みたい

    PHPを使ってxmlファイルを読み込んで、タグの中のデータなどを読み込んだりしたいです。 ですが、自作のxmlファイルだと simplexml_load_file()で読み込めません。xmlファイルの文字コードを色々と変えて試してみましたが、できませんでした。 ちなみに以下のコードは正常に動きました。Yahoo!のxmlファイルです。 $url = "http://rss.weather.yahoo.co.jp/rss/days/5710.xml"; $rss = simplexml_load_file($url); 出力は「【 25日(金) 嶺北(福井) 】 晴れ - 23℃/8℃ - Yahoo!天気・災害」でした。 何度かやるうちにアルファベットは表示できても日本語が表示できないということもありました。 また、xmlファイルをphpのプログラムに作らせたいです。そのときに、simplexml_load_file()で読み込める日本語も含むxmlファイルをphpで作成するプログラムを教えていただけると嬉しいです。 お願いします。

    • ベストアンサー
    • PHP
  • mixiの設定でRSSのURLの設定のしかた

    mixiの日記を外部ブログに変更したいと思っています。 設定画面の中にRSSのURLという部分があります。 今回、MTで作成したブログを指定したいのですが、何を指定すればいいでしょうか? http://xxx.xxxxy.com/index.xml や http://xxx.xxxxy.com/atom.xml と指定してみても、他の方のようにマイミクシイ最新日記に新しいエントリーが表示されません。

  • RSSのURLをチェック

    簡単なRSSリーダーを作っています。 フィードを追加するとき、RSSのURLかどうかをチェックしたいのですがどうすればいいのでしょうか? http://www.example.com/ だとダメ(false)で、 http://www.example.com/rss.xml だとOK(true)になるようにしたいのですが。 現在の環境はPHP4です。

    • ベストアンサー
    • PHP
  • file_get_contentsで外部URLファイルの読み込みの設定

    外部URLのXMLが取得したく、file_get_contentsで取得しようと思っております。 ただ、サーバマシンからですと、falseが返ってきてしまいます。 環境は、 php 4.3.9(RedhatEL4のup2dateでインストール出来るバージョン) になります。 php.iniの allow_url_fopenはOn default_socket_timeoutも60 と十分取っております。 $content = file_get_contents('http://アドレス'); でテストしますと、 私のローカル(OSX php5.2.1) で確認しますと、正常に取得出来るのですが、 RedhatEL4 php4.3.9で行いますと、 falseが返ってきてしまい、取得出来ません。 なお、サーバマシンからwgetでは取得可能です。 allow_url_fopen以外に、何か設定が必要になりますでしょうか。 アドバイスを頂けませんでしょうか。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • RSSファイルの拡張子はどれが正しいのですか?

    RSSをサイトに導入しようとしています。 RSSファイルには、 「.rss」 「.rdf」 「.xml」 の3種類くらいあると思いますが、 どういう違いがあるのでしょうか? 中身をxmlで記述さえすれば問題ない?と思って おりますが、調べるうちに色々な拡張子があるので、 選ぶ基準がわからなくなっています。 またRSSのバージョンも1.0や2.0などがありますが、 簡単にどういった違いがあるのかも教えてもらえると ありがたいです。 宜しくお願いします!