在php中调用并执行文件

时间:2009-12-30 20:22:13

标签: php

这可能听起来很奇怪:)

我想“调用”一个文件(test_2.php),即执行该文件,就像点击以下链接时一样:

<a href="home/test_2.php">click here</a>  //this code is currently in test_1.php file

有没有办法做到这一点?

7 个答案:

答案 0 :(得分:4)

您是否正在寻找include()?

http://php.net/manual/en/function.include.php

答案 1 :(得分:1)

我认为Curl就是你想要的。

答案 2 :(得分:1)

我认为你的意思是,当你点击链接时,你想要执行php,但你不希望页面改变/重新加载。

Ajax是你的朋友。如果你使用jquery,只需要一行javascript代码就可以了:

$.get('home/test_2.php', function(data, txt){ alert(txt); });

jQuery.get documentation.

了解有关此功能的更多信息

干杯!

答案 3 :(得分:0)

您可能需要include()?

http://php.net/manual/en/function.include.php

<?php
  include("test2.php"); //This is just like inserting test2.php's code in this file
  /* rest of the code */
?>

答案 4 :(得分:0)

我无法理解您的答案,尤其是链接部分,但您是否意味着包含文件http://php.net/manual/en/function.include.php

答案 5 :(得分:0)

如果您的服务器支持它,那么使用http:// URL的include()应该可以完成并完全产生所需的结果。

如果您包含文件系统路径(例如include /home/sites/www.example.com/test.php),则当前上下文中的文件可能是parsed,这可能不是您想要的。

答案 6 :(得分:0)

你的意思是运行一个脚本并捕获它的输出?为此,我使用以下内容:

    /**
    *       Execute a php file and return it's output.
    *       The file will be executed in the script's context. 
    *       It is not sandboxed in any way and it can access the global scope.
    *
    *       @param  string  $file           The file to execute.
    *       @param  array   &$context       An optional array of name=>value 
    *                       pairs to define additional context.
    *       @return string  The file's output.
    */
    function execFile($file, &$context=NULL)
    {
            if(is_array($context)) 
            {
                    extract($context, EXTR_SKIP);
            }

            ob_start();
            include $file;
            $ret = ob_get_contents();
            ob_end_clean();
            return $ret;
    }

小心你给这个功能。