在我的PHP网页中,我允许我的客户上传文件。该文件可能非常大(1-2 GB)。我已经修改了php.ini以允许用户上传大文件。
现在,我想知道如何仅上传文件的一个块(用户选择块的大小)。例如,我有一个1 GB的文件,但我只想上传该文件的前150 MB(该文件仍然可以工作,即使它已被分块,但它将使用更少的样本)。
我该怎么做?如果我这样做,我将让用户不必等待很多时间上传1 GB文件,用户将上传150 MB文件(150/1000 MB)。
我已经找到了一些方法,比如PLUPLOAD,但我不想使用JavaScript,因为我想在我的服务器而不是客户端执行所有流程/工作。或者使用fread(),fopen()和fwrite(),但在这种情况下,我无法在不先上传完整文件的情况下使用这些命令。
PD:如果有必要,我也可以使用Python在上传文件之前对文件进行分块,但我认为我会遇到与fread(),fopen()等相同的问题。 ..
谢谢。
答案 0 :(得分:0)
如果您不想在上传之前将文件拆分在客户端上,则需要使用某些客户端代码(在支持的浏览器上)来执行部分上传。
有关示例,请参阅https://github.com/blueimp/jQuery-File-Upload/wiki/Chunked-file-uploads