获取PHP的PHP File_get_contents?

时间:2011-09-24 13:52:59

标签: php mysql

我正在使用PHP的file_get_contents,使其成为没有XML的API。我以前做了好几次,但是今天,它输出文件的ACTUAL PHP而不是输出HTML,这是我想要的!

以下是代码:

我得到的文件,udp.php

  <?php
session_start();
$user = $_SESSION['xxxxxx'];
require("connect.php");
$data = mysql_query("SELECT * FROM xxx WHERE xxx='$xx'");
$row = mysql_fetch_assoc($data);
/* Fetch Array */
$email = $row['email'];
$name = $row['firstname'].' '.$row['lastname'];
$location = $row['location'];
$dob = $row['dob'];
$gender = $row['gender'];
$dp = $row['dp'];
$joindate = $row['joindate'];
$var = $email.'@@@@'.$name.'@@@@'.$location.'@@@@'.$dob.'@@@@'.$gender.'@@@@'.$dp.'@@@@'.$joindate;
echo $var;
?>

我正在使用它:

<?

    $getdata = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/udp.php');
    echo $getdata; 
?>

要从udp.php获取文件内容,但问题是,我没有得到$ var,我得到了ACTUAL PHP!返回数据是确切的PHP文件内容。实际的udp.php文件以我想要的方式呈现$ var,但是在获取文件时,它会呈现确切的PHP。

这让我很困惑:S

任何想法?

谢谢! :)

4 个答案:

答案 0 :(得分:3)

$_SERVER['DOCUMENT_ROOT']包含本地文件系统路径。永远不会调用PHP解释器,因此您只需获取文件内容。

你需要通过一个URL file_get_contents(),或者通过一些缓冲来捕获include()的输出并以这种方式存储值。

答案 1 :(得分:1)

使用include()获取解释的PHP文件。

答案 2 :(得分:1)

这就是应该如何运作的。如果您对可执行文件执行了file_get_contents,您是否希望执行该文件并返回输出?不是真的。

如果要处理PHP文件并获得结果输出,请改用include

答案 3 :(得分:0)

老实说,我认为你需要阅读一般的编程,特别是PHP。你可以做些什么来修复你发布的内容是通过将代码包装在一个名为udp_getdata() {}然后return $var;而不是echo的函数中来在udp.php中创建一个函数。然后在其他代码中,您require_once("udp.php");然后更改:$getdata=udp_getdata();此时,$ get_data应设置为函数udp_getdata()

的返回值的内容

这并不是说你的所有代码都是正确的,并且会工作,请注意。我从来没有那么远。