0

也许最好从描述场景开始。

我们有一个带有 ffmpeg 的 Debian 服务器,用于将各种视频文件转换为 FLV。这些文件由许多不同的人通过 FTP 提供,并保存在“上传”文件夹中。

我需要编写一个 PHP 脚本来遍历上传文件夹中的所有文件,选择完整的文件(即当前未上传或没有任何上传错误),然后使用 ffmpeg 将它们转换为 FLV。

我可以进行转换和其他所有操作,但是如何确定文件是否完整并完全上传?

非常感谢!

4

2 回答 2

0

还有另一种方法可以解决这个问题,我们多年来一直这样做。

大多数 ftp 服务器(proftpd 确实如此)会输出一个日志,告诉您文件上传何时成功完成。您可以将此日志记录设置为转到名为 pipe / fifo 的 unix,然后让守护程序脚本读取此内容以确定要处理的文件。这很好用,并且仅在文件完全成功上传后才处理文件。

于 2012-02-08T17:08:52.743 回答
0

Afaik 你不能只弄清楚文件是否仍在上传。您可以每分钟运行一次 cronjob 获取文件大小并将它们存储在数据库或文件中。然后,如果您第二次运行 cronjob 并且文件大小相同:转换它们,如果不是.. 再等一分钟,然后再试一次。

我不相信有一个文件大小存储在一个文件中,该文件包含上传完成后应该达到的大小。

于 2011-05-06T10:13:02.793 回答