我正在以一种方式使用PHP,使其成为没有file_get_contents的API。我以前已经做过几次了,但是今天,它输出的是文件的实际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,而是实际的PHP!返回的数据是PHP文件的确切内容。实际的udp.php文件按照我想要的方式呈现$var,但在获取文件时,它呈现的是完全相同的PHP。
这让我有点困惑:S
有什么想法吗?
谢谢!:)
发布于 2011-09-24 21:55:22
$_SERVER['DOCUMENT_ROOT']
包含本地文件系统路径。PHP解释器永远不会被调用,所以你只能得到文件的内容。
您需要通过一个URL对其进行file_get_contents()
,或者使用一些缓冲来捕获来自include()
的输出,并以这种方式存储值。
发布于 2011-09-24 21:55:32
使用include()
获取解释过的PHP文件。
发布于 2011-09-24 21:55:57
这就是它应该如何工作的。如果您对一个可执行文件执行了file_get_contents
,您会期望它执行该文件并返回输出吗?不怎么有意思。
如果希望处理PHP文件并获得结果输出,请改用include
。
https://stackoverflow.com/questions/7539448
复制相似问题