gpt4 book ai didi

php - 在 PHP 中使用 file_get_contents 时访问 $_SESSION

转载 作者:行者123 更新时间:2023-12-04 14:33:40 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to send cookies with file_get_contents

(4 个回答)


去年关闭。




我有一个名为 send.email.php 的页面,它发送一封电子邮件——非常简单的东西——我传递一个订单 ID,它创建工作请求并将其发送出去。这在我开发的上下文中使用时效果很好(使用 javascript 对 URL 进行 AJAX 调用并将 order_id 作为查询参数传递)

我现在试图在另一个应用程序中重用完全相同的页面,但是我使用 php file_get_contents($base_url.'admin/send.email.php?order_id='.$order_id) 调用它.当我以这种方式调用页面时,$_SESSION 数组为空 isempty() = 1。

这是因为我正在使用 file_get_contents 启动一个新 session 吗?我在登录时存储在 $_SESSION 中的值在那里对我不可用?

-->
感谢您的反馈。新调用无权访问现有 session 是有道理的......

不过新问题:

我现在得到:无法打开流:HTTP 请求失败!尝试执行时:

$opts = array('http' => array('header'=> 'Cookie: ' . $_SERVER['HTTP_COOKIE']."\r\n"));
$context = stream_context_create($opts);
$contents = file_get_contents($base_url.'admin/send.sms.php?order_id='.order_id, false, $context);

然而,如果我将其称为:(它只是不允许我访问 session ),则该 URL 工作正常
$result file_get_contents($base_url.'admin/send.sms.php?order_id='.$order_id);

最佳答案

这是因为服务器使用 cookie 来跟踪客户端。当您从浏览器调用页面时, session cookie 会随请求一起传递。当您使用 file_get_contents函数,没有传递cookie,服务器无法识别客户端。 Here's a post这可能对你有帮助。

关于php - 在 PHP 中使用 file_get_contents 时访问 $_SESSION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2627296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com