看板 PHP 關於我們 聯絡資訊
ignore_user_abort() 這函式似乎很少看到... 以前也沒用過 但今天用上了 事情是這樣發生的... 弄了一個空間 讓人用FTP上傳檔案 Web部分,作檔案瀏覽的介面 對於圖檔/視訊檔,作縮圖,並且視訊檔會轉成flv提供線上播放 作縮圖和轉flv都是<img src="thumb.php?file=..."> 轉檔的動作都寫在thumb.php裡 用exec()執行外部程式 mencoder ffmpeg imagemagick 之類的 其中視訊檔的縮圖,是先用 mencoder轉flv 再用ffmpeg從flv弄出jpg 但發現有的大一點的視訊檔 圖檔會生不出來 去翻存那些轉出來檔案的資料夾 發現只有flv 原因是 轉flv時轉檔轉太久 timeout後(或完成前使用者離開這一頁)browser放棄了,並告訴server不要檔案了 然後這個php沒執行完就被中斷了 所以弄出jpg檔的動作沒做到 後來用以下兩行解決 ignore_user_abort(true); set_time_limit(0); ignore_user_abort()可以讓php不會被中斷 於是一系列動作都會乖乖的執行完 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.122.162 ※ 編輯: buganini 來自: 140.113.122.162 (05/19 05:43)
foxzgerald:cool! 透過這函式應能寫出類似 crontab 的功能嘍? 05/19 10:30
MrMarcus:以前做發較大量信件的時候也有用過這個函數,萬一使用者 05/19 14:08
MrMarcus:或者瀏覽器中斷,發送動作還是會繼續做完。 05/19 14:08
kornelius:Cool! :) 05/19 18:34
roga:這個函式超好用的 05/19 18:52