我正在使用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
任何想法?
谢谢! :)
答案 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()
这并不是说你的所有代码都是正确的,并且会工作,请注意。我从来没有那么远。