如何使用PHP和jQuery创建文件上载进度条?

时间:2010-06-12 19:58:57

标签: php jquery

如何使用PHP和jQuery创建文件上传进度条?请不要将我推荐给像Uploadify这样的Flash。我想创建自己的。

4 个答案:

答案 0 :(得分:4)

只需存储并更新服务器端会话中的进度,并使用来自客户端的重复ajaxical调用来获取服务器端会话的当前进度,直到达到100%。简而言之,这里有一个明确的教程如何使用PHP和jQuery:How to build an ajax progress bar with jQuery and PHP

然后是服务器端部分,至少需要PHP 5.2才能使用PECL Uploadprogress extension。你可以在这里找到一个关于它的博客:PECL Uploadprogress example。在php.net上This comment of jazfresh也很有帮助。

答案 1 :(得分:0)

如果你不想使用像swfupload这样已经预先构建的那个,你必须准备好你的action-script-fu并使用外部接口api让它与jQuery对话。

答案 2 :(得分:0)

基本上,您需要控制在某个时间跨度内发送的数据量。由于您无法控制浏览器数据传输,浏览器如何从文件中读取数据,您无法使用普通Javascript进行操作。

您需要一些第三方控件,如Silverlight,Flash或Java小程序。使用它们您将授予文件系统访问权限,因此您可以控制如何读取源文件。因此,要构建进度条,您只需要对服务器应用程序进行几次HTTP调用,即可将源文件分成小块。

答案 3 :(得分:-3)

要获取文件上传进度,您应该使用 Flash 。可以找到包含更多信息的教程here。请注意,这是使用.NET,而不是PHP。