php FTP 文件:如何检查文件是否被另一个进程打开

php FTP file: How can check if a file is open by another process

我在远程服务器中有一个视频列表 (.mp4)。 从我的应用程序 codeigniter,我连接 FTP 到远程服务器,我可以列出这些视频。
我想重命名这些文件,但我应该在重命名之前验证文件是否被另一个进程打开(视频正在播放)。
如何使用 php 检查文件是否被另一个进程打开?

这是我的代码:

$ftp = new Simple_ftp();
$ftp->init("server",'login','password');
$conn_id = $ftp->connexion();
if($conn_id == 3){
    $files = $ftp->ls('path_files');
    foreach($files as $file){
        ...
    }
}

无法通过FTP知道,但是我建议您查看以下其他方法:flock

它检查文件锁定

您无法检查只有 FTP 访问权限的那个。

如果服务器使用的是基于 Linux 的 OS 并且您有 ssh 访问权限,则可以远程连接并使用 lsof 程序。