PHP uploadprogress 模塊是一種可以方便地跟蹤文件上傳進度的工具。為了使你的站點更加人性化和用戶友好,你可以通過使用該模塊來顯示上傳進度的百分比,速度,估計剩余時間等細節信息,從而讓用戶有更好的上傳體驗。
安裝PHP uploadprogress 模塊十分簡單,只需要按照以下指導進行相應操作即可。
第一步:下載 uploadprogress 擴展
下載 uploadprogress 庫文件,然后使用以下命令上傳并解壓文件。如果你需要從 git 上獲取源代碼,同樣也可以使用以下命令進行下載。Upload Test 在開始上傳文件之前,確保 server 機器已經安裝有 php 以及上述的 uploadprogress-1.1.0 擴展。接下來追蹤上傳進度的實現,這里先使用 JavaScript 定時器輪詢從服務器獲得上傳進度,代碼如下所示:
wget https://github.com/php/pecl-php-uploadprogress/archive/master.zip unzip master.zip第二步:安裝 uploadprogress 模塊 接下來,切換到 uploadprogress 模塊的目錄并使用phpize生成PHP模塊的Makefile文件,如下所示:
cd /path/to/pecl-php-uploadprogress-master phpize ./configure make sudo make install在完成以上步驟后,就已經安裝完成 uploadprogress 模塊了。在 config.ini 中添加以下配置,即可啟用 uploadprogress:
extension=uploadprogress.so第三步:重啟PHP 為了確保更新生效,需要重啟 PHP 服務的所以相關進程,然后再次確認 uploadprogress 模塊是否正常啟動。 第四步:測試 uploadprogress 模塊 在使用 uploadprogress 之前,你需要確保 PHP 代碼正確地在本地環境中部署和運行。運行以下簡單的代碼來測試PHP代碼是否正常工作:
$('<div id="progress"><div class="bar"></div><div class="percent">0%</div></div>').appendTo('body'); $('.bar').css('width', '0%');
var timer = setInterval(function() { $.get('progress.php', function(data) { var progress = parseInt(data); $('.bar').css('width', progress + '%'); $('.percent').html(progress + '%'); if (progress == 100) { clearInterval(timer); } }); }, 500);為了從服務器獲得上傳進度,還需要添加 progress.php 代碼:
session_start(); $key = "upload_progress_" . $_GET[ini_get("session.upload_progress.name")]; if (!empty($_SESSION[$key])) { $current = $_SESSION[$key]["bytes_processed"]; $total = $_SESSION[$key]["content_length"]; echo $current < $total ? ceil($current / $total * 100) : 100; } else { echo 100; }通過以上幾個簡單的步驟,你已經可以完整的使用 uploadprogress 模塊的所有功能。此時,你會發現在上傳文件時會顯示上傳進度的百分比、上傳速度、剩余時間等信息,從而極大地方便了上傳過程。
上一篇css怎么表示父類
下一篇php unpack解包