用PHP5 2 APC實現超酷的PHP進度條

2021-06-08 07:38:09 字數 841 閱讀 8100

英文原文(並非按詞乙個個譯過來的)

這裡是rasmus lerdorf實現的乙個利用php5.2的新特性來進行上傳進度條的例子。

為了讓php儲存並顯示檔案上傳進度,他利用了apc來實現記憶體級快取。apc最新的版本有乙個特性(雖然沒有文件化),一旦開啟,將會監聽包含 apc_upload_progress的表單的檔案上傳進度。一旦發現這個post變數,apc將會建立乙個快取入口,並把檔案上傳進度放到這個快取裡。這個入口的值取決於post變數apc_upload_progress的值 。

如果你仔細看他的例子**,你發現他用了apc_fetch來讀記憶體值。同時在共享記憶體裡,包含了apc_upload_progress這個魔術數字。

但是怎麼讓apc像這樣工作呢?文件中並沒有告訴我們。其實在cvs裡的安裝說明上寫了:

在php.ini檔案設定apc.rfc1867=1就行了。

我把例子**弄過來了:if(

$_server['

request_method']

=='post')

elseif(

isset

($_get['

progress_key

']))

?>

附本人意見:

php5.2之前解決大檔案上傳進度條顯示一種是猜臨時檔名另一種是用php建立webserver,需要iptables開啟一些80之外的埠,還有一些是自己編譯apache或php模組,基本沒太大用途。有時間我詳細說一下這幾種情況。

目前這個看起來似乎是乙個比較漂亮的解決辦法。但是仍需要系統管理員(root)許可權來裝apc和改php.ini檔案。

希望在更新版本中php能給出乙個比較好的解決檔案上傳的辦法。

用PHP實現的單鏈表

單鏈表顧名思義就是乙個鏈式資料結構,它有乙個表頭,並且除了最後乙個節點外,所有節點都有其後繼節點。如下圖。鍊錶節點 class node 鍊錶中還有兩個特別重要的方法,插入和刪除。插入需要找到插入的位置,把前乙個元素的next指標指向被插入的節點,並將被插入節點的next指標指向後乙個節點,如下圖左...

用PHP實現的單鏈表

單鏈表顧名思義就是乙個鏈式資料結構,它有乙個表頭,並且除了最後乙個節點外,所有節點都有其後繼節點。如下圖。首先,我們寫出鍊錶節點的類。單鏈表中的每乙個節點,都儲存其資料域和後驅指標 鍊錶節點 class node 鍊錶中還有兩個特別重要的方法,插入和刪除。插入需要找到插入的位置,把前乙個元素的nex...

用PHP實現的單鏈表

首先,我們寫出鍊錶節點的類。單鏈表中的每乙個節點,都儲存其資料域和後驅指標 php view plain copy 鍊錶節點 class node 鍊錶中還有兩個特別重要的方法,插入和刪除。插入需要找到插入的位置,把前乙個元素的next指標指向被插入的節點,並將被插入節點的next指標指向後乙個節點...