Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php FTP文件:如何检查文件是否被其他进程打开_Php_Codeigniter_Ftp_Video Streaming - Fatal编程技术网

php FTP文件:如何检查文件是否被其他进程打开

php FTP文件:如何检查文件是否被其他进程打开,php,codeigniter,ftp,video-streaming,Php,Codeigniter,Ftp,Video Streaming,我有一个远程服务器中的视频(.mp4)列表。 从我的应用程序codeigniter,我用FTP连接到远程服务器,我可以列出这些视频。 我想重命名这些文件,但在重命名之前,我应该验证文件是否由其他进程打开(正在播放视频)。 如何使用php检查文件是否由另一个进程打开 这是我的代码: $ftp = new Simple_ftp(); $ftp->init("server",'login','password'); $conn_id = $ftp->connexion(); if($con

我有一个远程服务器中的视频(.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了解情况,但是我建议使用其他方法查看以下内容:


它检查文件锁定

您无法检查只有FTP访问权限的文件锁定


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

使用ftp您没有机会。。。只有远程服务器的操作系统才可能知道文件是否正在使用……我知道视频的读取链接(),我没有机会知道它是否已打开?只有FTP访问权限无法知道它当前是否已打开。协议没有这样的功能。