PHP:file_get_contents没有给我预期的输出:(


PHP: file_get_contents not giving me output I expect :(

这是我非常简单的代码:

session_name("miz");
session_start();
include_once 'codeFragments/sessions.php';
if(!isset($_SESSION['user']))
{
    header('Location: login.php?e=1');
    exit;
}
//include('simple_html_dom.php');
$homepage = file_get_contents('http://localhost:8888/Ryan/Mart/1/cPanel.php?p=create_member');

echo $homepage;exit;

问题是,即使我登录了,我总是得到login.php页面的内容,而不是cPanel.php的内容。

当我尝试这样做时:$homepage = file_get_contents('cPanel.php?p=create_member');

它说:无法打开流:没有这样的文件或目录

我到底做错了什么?我仔细检查了一下,这个文件和cPanel.php文件在同一个目录中。

可能已登录,但访问"远程"文件不是;你的服务器是。而你的服务器没有登录。

与其使用file_get_contents,不如考虑使用cURL(尽管我个人会全力以赴发送手动HTTP请求!)并在标头中传递"Cookie: ".session_name()."=".session_id();。这将使服务器劫持您自己的会话,以保留您提供的身份验证。

即使我已经登录。

我不确定你是否真的是。

但是,通过PHP处理真正的登录是可能的。之后,您应该能够访问正确的数据。

两个可能有用的例子:

使用身份验证和file_get_contents()

file_get_contents来自url,只有登录到网站后才能访问