2011-05-11 100 views
0

我是PHP新手,一步一步學習它。那麼我有一個下載頁面,我想在下載完成後重定向。下載後重定向頭

header('Content-type: application/octet-stream');     
header('Content-Disposition: attachment; filename="dlink.pdf"');     
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");     readfile('dlink.pdf'); 
header("refresh: 2; auto_works.html"); 
exit; 

這是我的PHP代碼中的下載代碼。我怎樣才能達到我的指示?請幫忙。你能不能也跟我提我應該在哪裏寫的代碼行

感謝

+0

我不'真的覺得這是可能的。 – Yoshi 2011-05-11 10:35:16

+0

'refresh:2; page.html'是一個HTML''tag value =)它不是一個HTTP頭。 – Rudie 2011-05-11 10:35:45

+1

@Rudie不知道......你能幫我解決這個問題嗎? – Vinoth 2011-05-11 10:38:43

回答

1

後,您不能重定向下載完成。網絡服務器(會做重定向)不知道什麼時候下載完成。有很多方法,但它們很難,不值得。

下載開始後,您應該重定向。

0

嘗試設置

header("Location: auto_works.html");exit; 

,而不是

header("refresh: 2; auto_works.html"); exit; 
+1

它不起作用,我閱讀在線文檔,聲明開始下載後,您不能發送標題標籤:( – Vinoth 2011-05-11 10:35:06

0

這對純HTTP來說是不可能的。您可以通過下載響應或重定向響應來響應用戶請求。

當然,你可以做一些客戶端腳本,並且一次做兩件事 - 例如,打開一個彈出窗口,導致文件下載並同時在原始窗口中加載新頁面。但是我不鼓勵你這麼做,因爲它不便於用戶使用,可能根本無法使用某些配置。