php FTP文件:如何检查文件是否被另一个进程打开
I have a list of videos (.mp4) in a remote server.
From my application codeigniter, I connect with FTP to the remote server and I can list those videos.
I want to rename those files, but I should verify if file is opened by another process (video is playing) before renaming it.
How can check if a file is opened by another process with php?
This my code:
$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){
...
}
}
我在远程服务器中有一个视频列表(.mp4)。
从我的应用程序codeigniter,我连接到 FTP到远程服务器,我可以列出这些视频。
我想重命名这些文件,但我应该在重命名之前验证文件是否被其他进程打开(正在播放视频)。
如何检查 如果另一个进程用php打开文件? p>
这是我的代码: p>
$ 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){
...
}
}
code> pre>
div>
You cannot check for that having only FTP access.
If the server is using Linux based OS and you have ssh access, you can remotely connect and use the lsof
program.
There is no way of knowing by FTP, however other methods I suggest taking a look at the following: flock
It checks for file locking