这是我非常简单的代码:
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文件位于同一目录中。
答案 0 :(得分:3)
您可能已登录,但您未访问“远程”文件;你的服务器是。并且您的服务器尚未登录。
不要使用file_get_contents
,而是考虑使用cURL(虽然我个人会全力以赴并发送手动HTTP请求!)并在标题中传递"Cookie: ".session_name()."=".session_id();
。这实际上会使服务器劫持您自己的会话以保持您提供的身份验证。
答案 1 :(得分:0)
即使我已登录。
我不确定你是不是真的。
但是可以通过PHP处理真正的登录。之后,您应该能够访问正确的数据。
两个可能有用的示例:
Using Authentication And file_get_contents()
file_get_contents from url that is only accessible after log-in to website