2015-06-17 72 views
1

我想將我的用戶重定向到一個新頁面,但當前網站繼續運行腳本,在指定地址10分鐘後發送線程消息。我想是這樣的:超時處理電子郵件php

Header('Location: xy.com'); 
sleep(100); 
do_the_email_sending_here(); 

但實際上它並沒有奏效,因爲該網站在等待100秒,因此該網站沒有立即重定向我。任何想法如何解決這個問題?任何想法while()或for()循環?

+0

僅僅因爲你發出了header()調用並不意味着客戶端會奇蹟般地開始去那裏。它可能會去那裏,但不需要,直到腳本的其餘部分完成。無論如何,睡眠(100)將等待100秒。你應該使用一個作業調度程序,例如'at'在將來發送電子郵件的時間爲+10分鐘,而不是希望用戶不會逃脫並導致腳本關閉。 –

+0

我不認爲你可以做到這一點沒有更多的..你用來沖洗緩衝區,但我認爲你不能再發送partials或更確切地說,現代瀏覽器不會顯示partials ..但我可以錯誤.. –

+0

我會嘗試以不同的方式提出問題。共有3頁。希望將用戶從「A」站點重定向到「B」站點,而不是從「B」站點到「C」站點。如果用戶離開「B」站點或因特網連接發生了問題,並且他無法到達C站點,則比我想發送電子郵件。像這樣的東西「哦,看起來停下來」。任何其他解決方案都可以。 – szebasztian

回答

0

試試這個:

  Header("Refresh: 600;", "Location: xy.com"); 
     do_the_email_sending_here(); 

Refresh: 600;將瓶坯你的頭600秒或10分鐘。

+0

這不好。我立即想要重定向,並將其保留在服務器上運行的php。 – szebasztian