PHP如何使用return从函数()显示另一个页面的内容

时间:2012-03-28 06:52:09

标签: php function drupal

我需要使用return显示函数中另一个页面的内容。 这样做的最佳方式是什么?

说我有file.php。在我的另一个页面的脚本中,我想调用一个函数并返回file.php。

的内容

例如:

myFunction() {
  $page = WHAT('file.php');
  return $page;
}

用什么代替'什么'?我试过包括,因为这是我所知道的,但它在这里不起作用。

EXTRA NOTES:这用于Drupal模块。如果我使用$page = 'insert code here'; return $page;,则管理主题/菜单会正常显示 - 但如果我使用$page = include('file.php');则不会显示,因为该功能在看到'include'时甚至不使用返回。

5 个答案:

答案 0 :(得分:1)

  1. 有关文件使用的代码或内容:file_get_contents

  2. 对于另一个php页面的即时结果,您可以尝试ob_startob_get_clean

  3. 它会将包含文件的输出收集到内存中,稍后您可以将输出收集到变量并清理内存或直接显示输出。

    像:

    myFunction(){
       ob_start();
       include('file.php');
       $page = ob_get_clean();
       return $page;
    }
    

答案 1 :(得分:0)

使用$page = file( 'file.php' ); 这将返回一个包含每行代码的数组。

function myFunction() {
  $page = file('file.php');
  return $page;
}

然后你可以这样做:

$myPage = myFunction();
foreach( $myPage  as $line => $code){
    echo $code;
}

答案 2 :(得分:0)

您可以使用Curl检索其他页面内容

 <?php
 myFunction()
{
  $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, "file.php");
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $output = curl_exec($ch);
 curl_close($ch);
 return $output 
}

&GT;

答案 3 :(得分:0)

试试这个

function foo(){
   ob_start();
   include('file.php');
   $page = ob_get_clean();
   return $page;
}

答案 4 :(得分:-1)

你的意思是你想要在没有解析它的情况下返回file.php的源代码吗? 如果是的话,fopen和fread就是你的朋友。

function yourFunction() {
    $filehandle = fopen('file.php', "r");
    $filecontent = fread($filehandle, filesize($filename));
    fclose($file_handle);

    return $filecontent;
}