0

simplexml_load_file() 関数を使用して Twitter メンバー XML をロードしています。

これは問題なく動作し、XML を解析できますが、XML をロードするのにかなりの時間が必要な場合や、Twitter のために XML がロードされない場合があります。これは、Twitter の 150 件のリクエスト制限のためだけではありません。

そのため、それまで読み込みが成功しなかった場合、30 秒後に Twitter XML ファイルの読み込みを中止できるかどうかを知りたいのですが?

ありがとう!

4

2 に答える 2

0

私が最初に考えるのは、AJAXの使用です。ロード関数を実行するPHPスクリプトへの呼び出しを作成し、30秒以上かかる場合はJavaScriptにAJAX呼び出しを中止させます。

$.ajax({'complete': callbackFunction, 'url': 'foo/bar/', 'timeout': 5000, 'error': errorCallback});

あなたはとを探していtimeoutますerror。タイムアウト(ミリ秒単位)はスクリプトをerror中止し、アクションが中止されたメッセージ(またはアクションで実行したいこと)を返すために使用できる関数を呼び出します。

詳細 については、 AJAXに関するJqueryドキュメントを参照してください。

于 2013-01-21T23:17:05.597 に答える
0

を使用してできることはあまりないと思いますsimplexml_load_file()

ただし、cURL を使用して URL のコンテンツを取得する場合は、タイムアウトを指定できます。

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_TIMEOUT, 10); // <- Timeout in Seconds
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 

$xml = curl_exec($curl);
curl_close($curl);
于 2013-01-21T23:14:32.507 に答える