2013-04-15 27 views
3

我的php代碼如下。 變量$_SESSION['url']具有值並按原樣打印。 如果我調用會話變量,它不工作。會話變量不能在readfile文件中使用php方法

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']); 

如果有人遇到過這種情況,該如何解決? 在此先感謝

+0

你在你的第二個樣本中設置了''url''的任何原因,但是從''foo''讀取?你在第一個例子中通過'var_dump($ _ SESSION)'確認了''url''實際設置了嗎? –

+0

使用if(isset($ _ SESSION ['url']))來確保會話實際存在。 – Jonast92

+0

@MarcB對不起,請參閱最新的問題。我們用var_dump來確認 – user9371102

回答

1

$_SESSION是可變的(幾乎)像任何其他的腳本持續時間。所以如果你把它寫在腳本的一行上,你可以稍後閱讀。無論會議是否在您的環境中工作。

因此,您的第二個示例工作並不令人驚訝。並沒有顯示任何可以幫助解釋你的問題的東西。

您應該向我們展示,而您嘗試如何讓會話正常工作。你在哪裏以及如何設置url會話變量?

+0

$ _SESSION [ 'url']沒有傳遞到google文檔查看器, – user9371102

+1

對不起,我不知道你的評論是什麼意思。 –