[過去ログ]
【PHP】下らねぇ質問はここに書き込みやがれ 11 (1002レス)
【PHP】下らねぇ質問はここに書き込みやがれ 11 http://mevius.5ch.net/test/read.cgi/tech/1591334726/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
386: デフォルトの名無しさん (ワッチョイ 9d08-JMbW) [sage] 2020/08/26(水) 11:32:21.96 ID:V3GgHeuL0 まず、処理の切り分けをするべき 1. rssを取得する 2. 取得したrssを解析してオブジェクトなり配列なりを返す 1だけなら、file_get_contents()なりcURLなり使えばいい simplexml_load_fileは、1と2を同時にやってくれる そんだけ >>381 外部のライブラリは必須ではない ライブラリを使った方がより直感的に書けたり標準関数にはない機能があったりする事もあるってだけ プログラムの書き方は1つじゃない http://mevius.5ch.net/test/read.cgi/tech/1591334726/386
389: デフォルトの名無しさん (ワッチョイ 9d08-JMbW) [sage] 2020/08/26(水) 13:20:32.20 ID:V3GgHeuL0 >>387 せめてPHPマニュアルぐらいは読もう https://www.php.net/manual/ja/function.simplexml-load-file.php simplexml_load_file()はURLとファイルパスの両方を受け付ける(PHPにはこういう関数が多い) つまり、 A 1. file_get_contents()で指定URLの内容を取得 2. 1をファイルに保存 3. 2をsimplexml_load_file()でパース としなくても B 1. simplexml_load_file()でURLを直接パース ってできる。 じゃぁなぜわざわざAみたいな書き方もするかっていうと、 例えば取得したrssをローカルに保存してそれをキャッシュとして利用すれば URLを何度も取得する負荷を減らせるから この「なぜ」そういう書き方をするか?って事が理解できてないのは、プログラマとしては失格だなぁ http://mevius.5ch.net/test/read.cgi/tech/1591334726/389
391: デフォルトの名無しさん (ワッチョイ 9d08-JMbW) [sage] 2020/08/26(水) 14:05:12.50 ID:V3GgHeuL0 >>390 > 変数にするってことですよね 違うw よく読もうw http://mevius.5ch.net/test/read.cgi/tech/1591334726/391
393: デフォルトの名無しさん (ワッチョイ 9d08-JMbW) [sage] 2020/08/26(水) 14:48:59.13 ID:V3GgHeuL0 そんな感じ PHPなんかスクリプト言語ですぐに書いて実行できるんだからさ、 四の五の悩んでる暇あったら実際にコードを書けばいいんだよ $url = 'https://news.yahoo.co.jp/rss/topics/it.xml'; // file_get_contents()で取得しファイルに保存してからパースする場合 $data = file_get_contents($url); file_put_contents('test.xml', $data); $xml = simplexml_load_file('test.xml'); print_r($xml); exit; // URLから直接パースする場合 $xml = simplexml_load_file($url); print_r($xml); exit; // おまけ $data = file_get_contents($url); $xml = simplexml_load_string($data); print_r($xml); exit; 結果はどれも一緒だ http://mevius.5ch.net/test/read.cgi/tech/1591334726/393
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.934s*