小编Abh*_*yal的帖子

通过php上传大文件(0-5GB)的有效方法

我一直在寻找一个好的方法,并把头撞在墙上。

在一个文件共享服务项目中,我被指派确定上传大文件的最佳方法。

在 stackoverflow 和其他论坛上搜索了很多问题后,我得到了以下结果:

  1. 增加脚本最大执行时间以及允许的最大文件大小

    这个案子确实不太合适。每次通过普通宽带连接(1mbps-2mbps)上传文件时几乎都会超时。即使上传完成后执行PHP脚本,仍然不能保证上传不会超时。

  2. 分块上传。

    虽然我有点明白我应该在这里做什么,但我感到困惑的是,假设正在上传一个 1GB 的文件,我正在以 2MB 的块读取它,但如果上传很慢, php 脚本执行将超时并给出错误。

  3. 使用 Java 和 Perl 等其他语言?

    使用java或perl处理文件上传真的有效吗?

客户端使用的方法不是这里的问题,因为我们将发布一个客户端 SDK,并且可以在其中实现我们选择的方法。客户端和服务器端的实现都将由我们决定。

根据您的观点,考虑到内存使用效率应该很高,并且可能有很多并发上传,哪种方法应该是最好的方法?

Dropbox 和类似的云存储服务如何处理大文件上传并保持快速上传?

php apache upload chunked large-file-upload

5
推荐指数
1
解决办法
2万
查看次数

jQuery下拉ajax搜索keydown是"落后一步"

我有一个下拉列表,通过ajax的php文件回显.网站上的用户可以使用此下拉列表搜索他的朋友.我有以下代码(验证未显示):

var textbox = $('#participant-textbox');
$(function(){
                    textbox.keydown(function(e) {
                        $.ajax({
                            type:"POST",
                            url:"sources/friend_search.php",
                            data:{value:document.getElementById('participant-textbox').value}
                        })

                            .done(function(rtrn) {
                                $('.invite-participants-dropdown').html(rtrn);
                            });

                        if(!DropdownState)
                            {
                                dropdown.show();
                                DropdownState=true;
                            }

                    });
});
Run Code Online (Sandbox Code Playgroud)

虽然这样可行,但是ajax却落后了一步.我的意思是:

当我在文本框中键入"a"时,它不会显示任何内容.

在此输入图像描述

当我输入'ab'时,它应显示'abhishek'(我使用LIKE子句进行搜索),但它只搜索%a%,因此显示所有a名字中包含a的朋友.

在此输入图像描述

当我键入'abh'时,它现在应该搜索%abh%,而它搜索%ab%(在前一个请求中应该是这种情况).

在此输入图像描述

我想不出任何其他方式来解释这一点.我在这里错过了什么?

javascript php ajax jquery

0
推荐指数
1
解决办法
742
查看次数

标签 统计

php ×2

ajax ×1

apache ×1

chunked ×1

javascript ×1

jquery ×1

large-file-upload ×1

upload ×1