woff 發表於 2011-10-15 18:20:20

php 大量發送email的小技巧

相信許多人在寫大量發信的時候,

都會要求使用者不能關閉正在發信的視窗,

因為關閉視窗發email的機制就會中斷,

或者也有人提出另外一種作法就是利用cli的方式執行

在linux上丟到background處理,在windows內用at的指令下排程!

不過事實上不必那麼麻煩!

只要利用php的ignore-user-abort加上set_time_limit來執行即可


這樣處理即使user關掉電腦,php還是會繼續執行下去的

寫個簡單的範例好了




//讓程式執行到結束為止 set_time_limit(0);
//瀏覽器關閉後繼續執行 ignore_user_abort(true);
sleep(15);
touch("/test.txt");

執行後15秒可以到根目錄下看是否建立test.txt這個檔案(記得要開放寫入權限)

※利用這個方式,可能會發現Browser無法再瀏覽該網站的任何一個頁面,

這個在之前有提過Session的問題,記得執行session_commit就可以避免此問題了

crystalheart 發表於 2012-8-6 00:47:54

頂你一下.

bblworld 發表於 2012-8-6 00:50:26

非常感謝樓主,樓主萬歲萬歲萬萬歲!
頁: [1]
查看完整版本: php 大量發送email的小技巧