首页 > 编程知识 正文

php上传进度条,文件上传显示进度条

时间:2024-03-25 09:50:06 阅读:332844 作者:MJXU

本文目录一览:

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();

具体的代码就不写了,要自己动手哦,百度下每个函数的意思,加深理解和记忆。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。