cat 関数がファイルのマージを終了したことを検出して、ファイルを圧縮できる方法はありますか? たとえば、このような単純なケースがある場合、次のような複数のファイルを含むフォルダー:
/var/www/testing/file1.iso0
/var/www/testing/file1.iso1
/var/www/testing/file1.iso2
/var/www/testing/file2.xls0
/var/www/testing/file2.xls1
基本的に、私のWebアプリを使用して、ユーザーはfile1.isoとfile2.xlsをアップロードし、html5を使用して各ファイルをスライスして部分的にアップロードすると、上記の構造になります。各ファイルのすべての部分のアップロードが完了したら、cat unix コマンドを使用して ajax 呼び出しを使用してファイルをマージします。
$command = '(files=(' . $list_file_copy . '); cat ' . '"${files[@]}" > ' . '"' . $file_name . '"' . '; rm ' . '"${files[@]}")';
このようなもの。
exec($cmd . " > /dev/null &");
私の質問は、file1.iso と file2.xls のマージが終了したことをどのように知ることができるので、別のコマンドを送信してファイルを圧縮できるかということです。たとえば、file1.iso と file2.xls は filexxx.zip になります。
ファイルは複数になる可能性があり、個々のファイルは巨大になる可能性があることに注意してください(最大で4GBと言います。これが、100MBを小さな部分にスライスする理由です)