在使用 php 上传到服务器或使用 exec('python') 的后台进程之前,从客户端计算机压缩选定的文件夹


Compress selected folder from clients machine before upload to server using php or background process using exec('python')?

创建了只接受rar,zip和tar压缩的php上传。但是每个用户都无法压缩并上传到我的网站。有没有办法从客户端计算机压缩用户选择的文件夹,然后开始上传到网站。就像将任何脚本或应用程序转储到客户端计算机以压缩文件夹一样。如果有任何建议,请告诉我。

由于PHP是服务器端的,因此您不能在客户端压缩任何内容。但是,简单的Google查询向我展示了这个JS库:https://stuk.github.io/jszip/

示例是这样说的:

var zip = new JSZip();
zip.file("Hello.txt", "Hello World'n");
var img = zip.folder("images");
img.file("smile.gif", imgData, {base64: true});
zip.generateAsync({type:"blob"})
.then(function(content) {
    // see FileSaver.js
    saveAs(content, "example.zip");
});

很简单,不是吗?然后你所要做的就是从javascript中获取这个"示例.zip并将其上传到您的服务器。

希望我帮了你一点:)