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 文件位于同一目录中。
您可能已登录,但不是您正在访问"remote"文件;你的服务器是。并且您的服务器未登录。
与其使用 file_get_contents
,不如考虑使用 cURL(尽管我个人会全力以赴发送手动 HTTP 请求!)并在 headers 中传递 "Cookie: ".session_name()."=".session_id();
。这实际上将使服务器劫持您自己的 session 以保留您提供的身份验证。
even though I am logged in.
我不确定你是不是真的。
但可以通过 PHP 处理真正的登录。之后,您应该能够访问正确的数据。
两个可能有用的例子:
Using Authentication And file_get_contents()
file_get_contents from url that is only accessible after log-in to website
这是我非常简单的代码:
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 文件位于同一目录中。
您可能已登录,但不是您正在访问"remote"文件;你的服务器是。并且您的服务器未登录。
与其使用 file_get_contents
,不如考虑使用 cURL(尽管我个人会全力以赴发送手动 HTTP 请求!)并在 headers 中传递 "Cookie: ".session_name()."=".session_id();
。这实际上将使服务器劫持您自己的 session 以保留您提供的身份验证。
even though I am logged in.
我不确定你是不是真的。
但可以通过 PHP 处理真正的登录。之后,您应该能够访问正确的数据。
两个可能有用的例子:
Using Authentication And file_get_contents()
file_get_contents from url that is only accessible after log-in to website