使用curl在本地获取.php文件

Pru*_*rus 2 php curl

curl在PHP中使用它来返回PHP文件的内容.我想在本地执行此操作,因为我将在同一脚本中访问多个PHP文件,因此直接打开文件会更快.

但是,我希望能够将参数推送到PHP文件中(将它们完全视为Web上的PHP文件,但在本地抓取它们),因为我想将参数推送到脚本中,当我抓住时将生成额外的动态内容它.

如果我在本地调用文件,这可以吗?我已经尝试使用file:///,直接调用该文件,但这不会运行这些文件中的PHP代码.

有任何想法吗?

编辑

很抱歉的混乱: - 这是当前正在运行一个Web服务器,而我目前调用HTTP://(而不是文件:///),所以可以执行包含在这些文件中的PHP.但是,我发现这很慢,因为我正在生成多个curl()调用,这些调用本质上是多次调用服务器本身.

Pet*_*ter 5

你可以这样做:

function php_to_string($php_file, $new_GET = false, $new_POST = false) {
    // replacing $_GET, $_POST if necessary
    if($new_GET) {
        $old_GET = $_GET;            
        $_GET = $new_GET;
    }
    if($new_POST) {
        $old_POST = $_POST;            
        $_POST = $new_POST;
    }
    ob_start();
    include($php_file);
    // restoring $_GET, $_POST if necessary
    if(isset($old_GET)) {
       $_GET = $old_GET;
    }
    if(isset($old_POST)) {
       $_POST = $old_POST;
    }
    return ob_get_clean();
}

$content = php_to_string('my_file.php');
$content = php_to_string('my_file.php', Array('id'=>23)); // http://localhost/my_fie.php?id=23
Run Code Online (Sandbox Code Playgroud)

但请注意,它可能会覆盖您现有的变量,导致错误(例如重复定义)等等,因此您可以使用沙箱解决方案