1

我想知道,有没有办法检测 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

基本上,使用我的网络应用程序,用户将上传 file1.iso 和 file2.xls,使用 html5 我将切片每个文件并部分上传,这将导致上述结构。在每个文件的所有部分完成上传后,我将使用 ajax 调用使用 cat unix 命令合并文件。

$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 切成小部分的原因)

4

1 回答 1

0

您可以尝试检查退出代码.......当命令完成时,它会向操作系统返回成功/失败指示符或调用 prog....

在外壳测试中 $ 的值?(会给你最后执行的命令的退出代码),如果那是成功的,它将返回 0 作为退出代码 - 执行 zip,否则根据需要抛出警告或错误。

我在很多脚本中都这样做。希望这可以帮助

于 2013-03-28T01:43:29.453 回答