加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用Zend实现文件上载进度

发布时间:2020-12-13 21:59:52 所属栏目:PHP教程 来源:网络整理
导读:嗨我试图用Zend实现上传进度但是我还没有找到任何详细的教程.指针会很有用. 谢谢. 解决方法 我不记得曾经看过一个完全详细的教程,解释如何使用Zend Framework获取上传进度条;但是这里有一些指示,如果你已经知道关于 PHP,文件上传和Zend Framework的东西,那么
嗨我试图用Zend实现上传进度但是我还没有找到任何详细的教程.指针会很有用.

谢谢.

解决方法

我不记得曾经看过一个完全详细的教程,解释如何使用Zend Framework获取上传进度条;但是这里有一些指示,如果你已经知道关于 PHP,文件上传和Zend Framework的东西,那么应该引导你一点……

首先,您需要安装以下两个PHP扩展中的一个:

> APC
>或uploadprogress

这意味着只有当您是服务器的管理员时才能获得这种进度条(默认情况下通常不会安装这类扩展 – 而不是共享主机)

然后,您必须在上传表单中使用一些特殊的“隐藏”字段;关于那个,你可以看看configuration options of APC;特别是与RFC 1867相关的那些.

如果您使用的是Zend Framework,我想您已经在表单中使用了一些Zend_Form_Element_File.它应该已经对这些领域做了必要的事情 – 你最好检查一下,确定,顺便说一句.

现在您的表单没问题,您最终可以查看Zend_ProgressBar,以及描述Progress for file uploads的文档章节

您的代码可能看起来有点像这样(引用文档):

$adapter = new Zend_ProgressBar_Adapter_Console();
$upload  = Zend_File_Transfer_Adapter_Http::getProgress($adapter);

$upload = null;
while (!$upload['done']) {
    $upload = Zend_File_Transfer_Adapter_Http:getProgress($upload);
}

而且,要定期获取该信息,您必须使用某种Ajax请求从网页进行一些轮询.

关于uploadprogress扩展,您可以查看以下文章:

> Upload Progress Meter – Common issues and some answers – 它可能会给你一些指示.
> AJAX File upload Progress和PHP AJAX File Upload Progress Meter Updates
> Upload Progress Meter extension for PHP 5.2

这些帖子并不专门针对Zend Framework,但可能会让您知道发生了什么;-)

顺便说一下,你可能想要在本地机器上测试所有这些,这更容易开发……这意味着文件上传真的很快;测试任何类型的进度上传指标都不太好…

关于这一点,您可能会对“减慢”本地网络接口感兴趣;那些可能有帮助:

> Network tools that simulate slow network connection
> Firefox plugin to simulate slow internet connection?

希望这有助于至少一点;-)

而且,当你在它的时候:你为什么不把你的发现写成某种好的和详细的教程?这可能对某些人有用;-)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读