2012-03-24 7 views
0

ご提供いただけるご支援に感謝いたします。私はPHPに若干新しく、これは私が作成しなければならなかった最初の "Webサービス"です。HTTPリクエストを取得し、結果からファイルを作成/キャッシュするようにcronジョブを設定する

ゴール: 別のサーバーからXMLデータを取得する必要があります。この会社のAPIは、IPを与えなければならないように設定されているため、クライアントからサーバーの代わりにサーバーからサーバーにデータを引き出すことしかできません。データはHTTPリクエストを使用してAPIから取得されます... YQLと非常によく似ています。 (本質的に構造化クエリはURLにあります)。このAPIでは、サーバのリクエストを減らすために、自分のサーバだけが10-15分ごとに自分のサーバにpingする必要があります。

私の頭の中の論理的思考はセットアップすることでした:10分ごとにPHPスクリプトを実行するためのcronジョブ。 1. HTTPリクエストを作成します 2.既存のファイルを開くか、自分のサーバー上に作成します 3.返されたXMLデータをAPIから取り出し、新しく開いたファイルに書き込みます。 4.そのXMLをJSONに変換します。 5. [保存JSON 6.キャッシュJSONファイル 7. STOP

私の考えは最初の3つのステップのためにカールやfopenを使用していました。私はPHP.netでこれを行う基本的なスクリプトを見つけました(下記参照)。その後、私はかなり進んでいく方法が失われています。

<?php 

$ch = curl_init("http://www.example.com/"); 
$fp = fopen("example_homepage.txt", "w"); 

curl_setopt($ch, CURLOPT_FILE, $fp); 
curl_setopt($ch, CURLOPT_HEADER, 0); 

curl_exec($ch); 
curl_close($ch); 
fclose($fp); 
?> 

本当にありがとうございます。また、コメントをして、コード例で何をやっているのか、なぜそれを説明する時間があれば、それは多くのことを助けます。私は本当にスニペットをつかんで走らないことを学びたいと思っています。だから、あなたのコメントは私のために重要です。

ありがとう!

答えて

2

これは、file_get_contentsやfile_put_contentsなどのより便利な機能で行うことができます。

XMLをJSONに変換するのは一種の曖昧なステートメントです.XMLのデータ構造は必ずしもJSONに直接マッピングされるわけではありません。XMLには属性などが含まれている可能性があるため、あなたのデータの構造に依存して自分自身。 SimpleXML PHPモジュール(http://php.net/manual/en/book.simplexml.php)またはDOMモジュール(http://www.php.net/manual/en/book.dom)を使用できます。 PHP)。 (これはあなたがHTTPヘッダーまたはそのようなものを使用して、そのAPIのための特別な認証を必要としないことを前提として)

<?php 

    $remote_data_xml = file_get_contents("http://www.example.com/file.xml"); 

    $parsed_data = my_custom_xml_parsing_function($remote_data_xml); 
    $parsed_data_json = json_encode($parsed_data); 

    file_put_contents("my_json_cache.json", $parsed_data_json); 

    ?> 
+0

わからない:

ハイレベルでは、あなたのコードは、このようなものを見ることができますなぜこの回答が投票されたのか。それは、プロセスの一部としてMitchが何らかの種類のXml2JSON機能を作成しなければならないという点で絶対に正しいです。 –

+0

これは意味をなさないと思います。私はそれがちょうど私の心の中でいくつかの他の質問をもたらすと思います。 1.サーバーに「my_json_cashe.json」ファイルを事前に作成する必要はありますか? 2. cronジョブが実行されるたびにjsonファイルの内容が上書きされますか? –

+0

私はここでもっと助けが必要だと思います。 the:my_custom_xml_parsing_functionの機能は何ですか? –

関連する問題