![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
はじめまして、phpを勉強しています。
ちょっとつまづいてしました。
質問をさせて下さい。
(phpは5.25の環境になります)
$mainrss = array (
'http://www.hoge.com/?feed=rss2',
'http://www.hoge2.com/?xml',
'http://www.hoge3.com/index20.rdf'
);
$rssarray = array();
$today = date(U);
foreach ($mainrss as $url){
$rss = fetch_rss($url);
$title = $rss->channel['title'];
$title = mb_convert_encoding($title, "UTF-8", "auto");
(省略)
上記の
$mainrss = array (
'http://www.hoge.com/?feed=rss2',
'http://www.hoge2.com/?xml',
'http://www.hoge3.com/index20.rdf'
);
部分を
$mainrssarray = file('rss.txt'); として外部テキストファイルからデータを呼び込もうとしたのですがだめでした。
rss.txtの内容
'http://www.hoge.com/?feed=rss2',
'http://www.hoge2.com/?xml',
'http://www.hoge3.com/index20.rdf'
どのようにすれば外部のテキストファイルから呼び込んでくれるでしょうか?
初心者的な質問で大変申し訳ないんですが、アドバイスをよろしくお願い致します;;
No.3ベストアンサー
- 回答日時:
$mainrssarray = file('rss.txt');
foreach ($mainrss as $url){
って変数名違うんじゃ?
rss.txtの内容
'http://www.hoge.com/?feed=rss2',
'http://www.hoge2.com/?xml',
'http://www.hoge3.com/index20.rdf'
ってクォートとカンマはいりませんよ?
file() だと改行コードついてくるけどそれは大丈夫なんかな?
回答有難うございます!
本文では修正していない(古い方)のソースコードをコピペしてしまいました。
指摘されました通りforeach ($mainrss as $url)で記述していました。
rss.txtの内容をクォートとカンマをとってみました。
でもだめでした。
No.5
- 回答日時:
>でもだめでした。
どうだめでした?
もう1回 var_dump 結果とエラー内容を。
補足の結果を見る限りでは rss.txt の記述に
スペースが入っているとか、記号がおかしいとかそんなとこでは?
No.4
- 回答日時:
改行かな?
foreachの最初に
$url = trim($url);
を入れてみて下さい。
No.2
- 回答日時:
エラー内容から、fetchの処理にurlがちゃんと渡っているようですね。
一応、
ver_dump(file('rss.txt'));
のようにして、他のエラーになる部分をコメントアウトして実行してみて下さい。
これでテキストファイルを取得出来ているか確認できます。
ちゃんと配列で3つ取れていたら、原因は他の部分です。
クォートとカンマをつけた時・とった時と両方試しましたがエラー内容は同じでした。
$mainrssarray = var_dump(file('rss.txt'));で実行しました。
とった時のエラー内容です。
array(3) { [0]=> string(32) "http://www.hoge.com/?feed=rss2 " [1]=> string(42) "http://www.hoge2.com/?xml " [2]=> string(38) "http://www.hoge3.com/index20.rdf " }
Warning: Invalid argument supplied for foreach() in /virtual/ID/public_html/ドメイン名/aaa/index.php on line 20
20行目付近のソースになります。
foreach ($mainrssarray as $url){
$rss = fetch_rss($url);
$title = $rss->channel['title'];
$title = mb_convert_encoding($title, "UTF-8", "auto");
foreach ($rss->items as $item ) {
$title = $item['title'];
$title = mb_convert_encoding($title, "UTF-8", "auto");
$title = mb_strimwidth($title, 0, 50,"…",utf8);
外部でテキストを読み込まないで
$mainrss = array (
'http://www.hoge.com/?feed=rss2',
'http://www.hoge2.com/?xml',
'http://www.hoge3.com/index20.rdf'
);
で処理をするとしっかりRSSを取得して表示してくれています。
すいませんがわかることがありましたらアドバイスをよろしくお願い致します。
No.1
- 回答日時:
テキストファイルはちゃんと実行するphpと同階層にありますか?
テキストファイルの置き場所を色々変えてみて下さい。
回答有難うございます
上記のソースを書いたindex.phpと同じ階層に置いております。
index.php
|
|
|
rss.txt
それでもだめなんです。
MagpieRSSというのを使ってrssを表示させているのですが
エラー内容が
Warning: Invalid argument supplied for foreach() in /virtual/ID/public_html/ドメイン名/aaa/index.php on line 25
Warning: MagpieRSS: Failed to fetch 'http://www.hoge.com/?feed=rss2', (HTTP Error: Invalid protocol "") in /virtual/ID/public_html/ドメイン名/aaa/rss_fetch.inc on line 238
25行目(index.php)とrss_fetch.incの238行目に問題があるみたいなんです。
外部ファイルへの呼び込み方法は私が書いた方法で問題ないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- PHP 画像ファイルの名前をそのままURLにする 3 2022/10/16 11:18
- その他(メールソフト・メールサービス) 「不在の為お荷物を配達できませんでした」のショートメール 5 2022/10/19 19:35
- WordPress(ワードプレス) WordPressの記事の途中に差し込む 1 2023/06/29 11:18
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- その他(プログラミング・Web制作) 恒久的リダイレクトについて 2 2023/07/13 15:58
- その他(IT・Webサービス) MacとWindows Google検索した時のURL表示の違いについて 1 2022/11/17 10:38
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- 建設業・製造業 セメント会社の「SS」は何の略? 4 2022/07/25 09:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウンメニューにDBの内容...
-
file_existsでファイル名の部分...
-
PHPからCSVをアップロード後、m...
-
プログラミングのPythonのnoteb...
-
配列をループでたくさん宣言し...
-
【Smarty】foreach関数やsectio...
-
配列をファイルに書き込む方法
-
PHPにてクラスを配列にすること...
-
$_SESSIONに二次元配列を使える...
-
行列
-
mallocで char *型の配列を確...
-
Resource id #3 と表示されま...
-
array_combineがうまくいかない...
-
別ファイルの構造体の値を読み...
-
foreachのなかで次のキーを参照...
-
PHPのカッコ[ ]の使い方について
-
PHP SimpleXml unsetについて
-
あいまい検索
-
特定の文からメールアドレスの...
-
php で1から100までの素数の表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンメニューにDBの内容...
-
phpとmysqlで「あいまい検索」...
-
PHP5の外部コマンド実行で、バ...
-
「ローマ字 -> ひらがな」へPHP...
-
Mysqlとphpでソートや更新時の...
-
PEAR・MDB2のモジュールロード...
-
HTTPのメッセージボディについ...
-
数学の「組み合わせ」を求める...
-
順位を付ける時のスコアの重複...
-
Zend_Form_Element_Hash
-
日付から順にデータを並び替えたい
-
占いのPHPを作成中ですが・・・
-
しりとり 無限ループ?
-
選択日と終了日を配列で取得したい
-
多次元配列のカウント+1の仕方
-
mysqlにinsertするとエラーがで...
-
$xml要素を階層指定して取得し...
-
サイト名を取得するPHP
-
要素(文字列)から指定値を検索
-
月一覧を取得するには?(20120...
おすすめ情報