会话变量在readfile php方法中不起作用
下面是我的php代码。 变量会话变量在readfile php方法中不起作用,php,session-variables,readfile,Php,Session Variables,Readfile,下面是我的php代码。 变量$\u SESSION['url']具有值并按原样打印。 如果调用session变量,它将不起作用 session_start(); header('Content-type: application/pdf'); readfile($_SESSION['url']); 但如果我们按照下面的方式写的话,它是有效的 session_start(); $_SESSION['url']= 'http://samplepdf.com/sample.pdf'; header(
$\u SESSION['url']
具有值并按原样打印。
如果调用session变量,它将不起作用
session_start();
header('Content-type: application/pdf');
readfile($_SESSION['url']);
但如果我们按照下面的方式写的话,它是有效的
session_start();
$_SESSION['url']= 'http://samplepdf.com/sample.pdf';
header('Content-type: application/pdf');
readfile($_SESSION['url']);
如果有人经历过这种情况,如何解决?
提前感谢在脚本期间,
$\u会话
与其他会话一样是可变的(几乎是可变的)。所以,如果您将其写在脚本的一行上,您可以稍后阅读。无论会话是否在您的环境中工作
因此,您的第二个示例起作用并不奇怪。它也没有显示任何有助于解释你的问题的东西
相反,你应该向我们展示,你是如何让会话正常工作的。您实际在何处以及如何设置
url
会话变量?在第二个示例中设置'url'
,但从'foo'
中读取的原因是什么?您是否在第一个示例中通过var\u dump($\u SESSION)
确认'url'
已实际设置?请使用if(isset($\u SESSION['url'])确保会话确实存在。@MarcB抱歉,请查看更新的问题。我们与var_dump进行了确认too@Jonast92它是存在的,如果我们使用var_dump打印它听起来好像服务器没有编写会话,你有权访问会话文件夹来检查它吗?$_会话['url']没有传递到谷歌文档查看器,对不起,我不知道你的评论是什么意思。