标签:inf head 代码块 word 大会 targe 获取 资源 代码
(1)先获取当前分片是第几片以及总共几片
(2)创建一个文件夹用来存储所有的分片以及合成的文件
(3)变量$done初始为true,用来判断是否所有的分片都上传完成,每个分片保存的时候使用分片序号作为文件名,然后判断所有的分片文件是否存在
(4)当$done===true的时候,代表所有分片上传完成,合成文件。
$target变量代表合成后的文件名,file_exists判断是否已经合成成功,然后追加方式创建打开文件,循环将每个分片内容写入一个文件中。
在读取每个分片之前先判断当前分片是否存在,是为了防止多个进程执行合成文件代码块的时候导致某个分片已经写入删除,最后导致合成的文件是不完整的,此时需要删除合成的不完整的文件并退出exit当前进程。
其中每个分片最好设置独占锁,flock($in, LOCK_EX),用来保证读写分片的时候其他进程不会操作该分片。最后删除分片unlink以及释放独占锁。
标签:inf head 代码块 word 大会 targe 获取 资源 代码
原文地址:https://www.cnblogs.com/ouruola863/p/9865010.html