0

私は PHP の初心者で、これはばかげた質問かもしれません。何かを理解していないという理由だけで投票しないでください...

php -r "print_r(simplexml_load_file('http://twitter.com/statuses/user_timeline/31139114.rss'));"

これを例に取りましょう。このコマンドを実行すると、(画面上に) XML 出力が得られます。

私の質問は、このデータを画面だけでなくファイルに保存してから、そのファイルを読み取って、その simplexml_load_file() を作成した場合とまったく同じにすることは可能ですか?

4

1 に答える 1

6

次のようなものを使用して、データをダウンロードできますfile_get_contents。単一の PHP 文字列で XML 全体を取得します。
例えば ​​:

$xml = file_get_contents('http://twitter.com/statuses/user_timeline/31139114.rss');

$xmlXML 文字列が含まれるようになりました。


次に、を使用して、その文字列をファイルに書き込むことができますfile_put_contents
例えば ​​:

file_put_contents('/home/squale/developpement/tests/temp/test.xml', $xml);

そして、ファイルを確認するには、コマンドラインから:

$ cat test.xml                                                                                                                                                                                                   
<?xml version="1.0" encoding="UTF-8"?>                                                                                                                                                                           
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">                                                                                                                                                     
  <channel>                                                                                                                                                                                                      
    <title>Twitter / eBayDailyDeals</title>                                                                                                                                                                      
    <link>http://twitter.com/eBayDailyDeals</link>                                                                                                                                                               
    <atom:link type="application/rss+xml" href="http://twitter.com/statuses/user_timeline/31139114.rss" rel="self"/>                                                                                             
    <description>Twitter updates from eBay Daily Deals / eBayDailyDeals.</description>                                                                                                                           
    <language>en-us</language>                                                                                                                                                                                   
    <ttl>40</ttl>                                                                                                                                                                                                
    <item> 
...
...


その後、simplexml_load_fileそのファイルから読み取るために使用できます。
例えば ​​:

$data = file_get_contents('/home/squale/developpement/tests/temp/test.xml');

そして$data今、あなたのXML文字列が含まれています;-)


リモート サーバーから取得した XML が文字列であることを考慮すると、シリアル化する必要はありません。+ + ;-)よりfile_put_contentsも簡単ですfopenfwritefclose

于 2009-09-25T20:09:59.037 に答える