2

我有一个 php 文件,它根据某些参数返回 html,但它也将此输出保存在一个单独的目录中(基本上是一个定制的缓存过程)。

现在我想构建一个单独的 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

我发现的最佳解决方案是使用:

file_get_contents($url)

因此,在问题寻找替代品的地方run,我替代file_get_contents($url)

请注意,当我在这里使用相对路径时出现错误。我只有在使用http://localhost/displayindexsearch.php?p=parameteretc时才成功。

于 2013-07-19T14:26:39.427 回答
0

请看一下这个问题。

从 php 启动 php 文件作为没有 exec() 的后台进程

它可能对你有帮助。

于 2015-03-05T04:41:25.033 回答