PHP多文件上传功能实现

PHP 的多文件上传功能,真的是开发中挺常见的一块。是你要做个像文件管理、头像上传这种需求,多文件上传就派上用场了。

HTML 表单里的multiple属性,让用户一次就能选一堆文件,响应也快,体验也不错。像下面这样写就行:

<input type="file" name="files[]" multiple>

前端这一块,建议你上 blueimp 的 jQuery File Upload 插件,这个插件挺成熟的,上传过程可以显示进度,还支持拖拽和分块上传。只要引入资源、初始化一下就能用,像这样:

$(function () {
  $('#upload-form').fileupload({
    url: 'upload.php',
    dataType: 'json',
    done: function (e, data) {
      // 上传成功的
    },
    progressall: function (e, data) {
      // 进度条更新
    }
  });
});

后端用 PHP 来接收就行。其实也不复杂,用$_FILES['files']遍历文件,存到uploads/目录里就搞定了。,目录要有写权限。

不过你别忘了加点安全措施,比如限制文件类型、大小,过滤下文件名啥的。不然一不小心就被人传点奇怪的东西上来,服务器也遭殃。

整个流程串下来,前端负责体验,后端负责,搭配用还挺稳的。如果你要做后台上传管理或者让用户批量上传资料,这一套就合适。

如果你想拓展下功能,可以看看这些相关文章,像 jQuery Ajax 多文件上传php+ajax 实现多文件上传,都挺实用。

zip 文件大小:43.97KB