本文目錄一覽:
- 1、php 文件上傳,如何實現進度條功能?
- 2、php上傳進度條。之前做了上傳了,正常上傳。現在要做進度條。怎麼做?不要做假的,要真實的
- 3、大神,ThinkPHP 上傳文件進度條怎麼實現的
- 4、php 怎麼做進度條
php 文件上傳,如何實現進度條功能?
不用這麼麻煩,jquery有很多插件就可以實現上傳文件進度的樣式,可以使用下
ps:既然你這麼個性,我就給你說說實現的原理,具體細節你自己去弄吧.
普通的頁面訪問全是同步的,就是 請求–反饋,而進度條需要的實時的數據,所以普通頁面是實現不了這個功能的,得需要藉助異步ajax周期獲取進度數據,這個數據的來源當然就是服務器端發送的了,這樣就遇到了一個嚴重的問題,php獲取不了文件傳送過程中的狀態.幸好,php的創始人寫了一個APC擴展(另外一個擴展是uploadprogress),利用擴展的語法,加上ajax,使用js操作頁面的dom對象,就實現了進度條.
你明白了原理,你也很難做出來,哎.
php上傳進度條。之前做了上傳了,正常上傳。現在要做進度條。怎麼做?不要做假的,要真實的
更新你的php到5.4以上
你會用到這個的:Session Upload Progress ,php自帶的會話上傳進度
php會話進度********************
?php
session_start();
$key = ini_get(“session.upload_progress.prefix”) . ini_get(“session.upload-progress.name”);
var_dump($_SESSION[$key]);
?
表單********************
form action=”upload.php” method=”POST” enctype=”multipart/form-data”
input type=”hidden” name=”?php echo ini_get(“session.upload_progress.name”); ?” value=”123″ /
input type=”file” name=”file1″ /
input type=”file” name=”file2″ /
input type=”submit” /
/form
應用示例********************
?php
$_SESSION[“upload_progress_123”] = array(
“start_time” = 1234567890, // The request time
“content_length” = 57343257, // POST content length
“bytes_processed” = 453489, // Amount of bytes received and processed
“done” = false, // true when the POST handler has finished, successfully or not
“files” = array(
0 = array(
“field_name” = “file1”, // Name of the input/ field
// The following 3 elements equals those in $_FILES
“name” = “foo.avi”,
“tmp_name” = “/tmp/phpxxxxxx”,
“error” = 0,
“done” = true, // True when the POST handler has finished handling this file
“start_time” = 1234567890, // When this file has started to be processed
“bytes_processed” = 57343250, // Amount of bytes received and processed for this file
),
// An other file, not finished uploading, in the same request
1 = array(
“field_name” = “file2”,
“name” = “bar.avi”,
“tmp_name” = NULL,
“error” = 0,
“done” = false,
“start_time” = 1234567899,
“bytes_processed” = 54554,
),
)
);
大神,ThinkPHP 上傳文件進度條怎麼實現的
Web Uploader
這個插件是百度出的,有進度條,兼容ie7及以上。
原理就是ajax上傳,會返回1-100的數值,根據這個值來操作進度條。如果還有不明白的話,你可以在後盾人看看視頻找找答案,有空多看看時間長了,慢慢就明白了,希望能幫到你,給個採納吧謝謝
php 怎麼做進度條
一般來說,很少會有人直接用PHP輸出
進度條
,但是也是可以實現的(需要JS)。
原理和過程:
利用flush函數會提前輸出緩衝區內容;
內容是主要的進度條;
循環》
輸出改變內容的JS;
暫停一秒,繼續循環;
所有的輸出都要先放到緩衝區的,直接echo的輸出是等到頁面結束才輸出。
用戶的函數:
sleep()
ob_start()
ob_flush()
flush()
或
ob_implicit_flush();
具體的代碼就不寫了,要自己動手哦,百度下每個函數的意思,加深理解和記憶。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/244525.html