gpt4 book ai didi

php - 创建自定义上传进度条

转载 作者:可可西里 更新时间:2023-11-01 13:48:40 25 4
gpt4 key购买 nike

我看过所有的上传进度条插件、小部件等——它们都很糟糕。它们要么过于笨重且包含太多无用代码,要么无法正常工作。

我想知道的是,我可以在哪里阅读有关如何显示简单的上传进度指示器的信息。大多数浏览器的下方都有一个状态进度条,但在与客户打交道时仅使用它并不是很专业。

浏览器是怎么做到的?我想知道浏览器如何工作以指示上传状态的内部结构,这样也许我可以使用 PHP 和 jquery 制作一些东西。

谢谢。

最佳答案

既然您想使用 PHP,我将从 uploadprogress extension 开始(默认情况下,PHP 在上传完成之前不会为您提供任何数据;此扩展提供了此类服务器端功能)。请注意,它需要 PHP 5.2+ 并且可能对配置选项很挑剔。另见其 commentary and demotroubleshooting hints ). PHP 文档中的简短概述 comments .

使用扩展程序,您可以获得上传的一些统计信息;然后您可以通过 AJAX 轮询服务器并更新某种进度条。

更具体一点:

  • 获取表单的唯一标识符,并将其包含在隐藏字段中
  • 上传应在 IFRAME 中运行 - 某些浏览器不允许将 DOM 更新到运行上传的同一页面
  • 通过 AJAX 轮询服务器(使用标识符指定您感兴趣的上传)并解析结果(IIRC,您将得到类似“bytes_uploaded => 123,content-length => 1000”的内容)
  • 更新进度条(显示方式由您决定,我使用“x% done”加上图形条)
  • 当表单上传成功时重定向整个页面

(哦,顺便说一句,检查 PHP 的 upload_max_filesize 和 post_max_size 设置,因为两者都限制最大上传大小)

关于php - 创建自定义上传进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3067802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com