PHP:“运行”文件/脚本而不是包含?

时间:2013-07-14 15:14:48

标签: php include

我有一个基于某些参数返回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";
 }
 ?>

3 个答案:

答案 0 :(得分:0)

为什么不包含该文件,而是为要在文件中执行的操作创建函数。这样,在您想要运行时,您只需调用该函数即可。如果我理解正确的话,这似乎是你正在尝试做的正确方法。

答案 1 :(得分:0)

我找到的最佳解决方案是使用:

file_get_contents($url)

因此,如果问题代替run,我会替换file_get_contents($url)

请注意,我在这里使用相对路径时遇到错误。当我使用http://localhost/displayindexsearch.php?p=parameter等时,我才获得成功。

答案 2 :(得分:0)

请看一下这个问题。

Launch php file from php as background process without exec()

它可能对你有帮助。