2

特定のパラメーターに基づいて html を返す php ファイルがありますが、この出力を別のディレクトリ (基本的にカスタムメイドのキャッシュプロセス) に保存します。

ここで、既知の可能なパラメーターの配列に基づいてキャッシュを自動的に更新する別の php ファイルを作成したいと考えています。

したがって、結果をキャッシュフォルダーに保存するために、さまざまなパラメーターを使用してファイルを数回「含める」のではなく、「ロード」または「実行」したいと考えています。

この他のファイルを簡単にロードして、いつ完了したかを教えてくれるphp関数はありますか? そうでない場合、このようなものに ajax を使用する必要がありますか、それとも PHP の curl ライブラリを使用する必要がありますか??

現在、私は次の行に沿って何かを考えていました。

<?php
$parameters = array("option1", "option2", "option3");

//loop through parameters and save to cache folder
foreach ($parameters as $parameter){
   //get start time to calculate process time
   $time_start = microtime(true);
   sleep(1);

   //I wish there was some function called run or load similar to jquery's 'load'
   run("displayindexsearch.php?p=$parameter");

   //return total time that it took to run the script and save to cache
   $time_end = microtime(true);
   $time = $time_end - $time_start;
   echo "Process Time: {$time} seconds";
 }
 ?>
4

3 に答える 3

1

ファイルを含めないで、ファイル内でやりたいことのための関数を作成してください。そうすれば、実行したいときに関数を呼び出すだけです。私が正しく理解している場合、これはあなたがやろうとしていることを行う正しい方法のようです。

于 2013-07-14T15:18:13.160 に答える
0

この質問を見てください。

exec() なしでバックグラウンド プロセスとして php から php ファイルを起動する

それはあなたのために役立つかもしれません。

于 2015-03-05T04:41:25.033 に答える
0

私が見つけた最良の解決策は、次を使用することです。

file_get_contents($url)

したがって、質問が の代わりを探す場合はrun、 に置き換えfile_get_contents($url)ます。

ここで相対パスを使用するとエラーが発生したことに注意してください。http://localhost/displayindexsearch.php?p=parameterなどを使用したときだけ成功しました。

于 2013-07-19T14:26:39.427 に答える