ftp_put / ftp_fput锁定远程ftp服务器上的文件?

时间:2010-02-11 16:35:24

标签: php ftp

当这个php应用程序上传/覆盖文件到远程服务器时,我不希望其他应用程序读取文件

2 个答案:

答案 0 :(得分:2)

没有使用ftp锁定/解锁文件的事情。也许某些服务器可以实现这种事情,但它应该是非标准的。所以,PHP并没有管理这类事情。

顺便说一句,根据您的情况,您可以将文件上传到临时目录,然后重命名。重命名是一个原子程序,它可以是避免客户端下载未完成的上传文件的正确方法。

答案 1 :(得分:1)

正如Patrick Marie所说,在FTP交易过程中文件没有被锁定。您可以轻松自己尝试:开始上传大文件,几秒钟后在浏览器中请求它。您将获得该文件的截断版本。

如果它与其他任何东西都没有冲突,你可以重命名该文件(例如,附加一个.lock扩展名或者添加一个.,这将隐藏在某些星座的Unix / Linux系统上在你的交易过程中,做你的东西,并在完成后重新命名。

这样做的一个危险是,如果您的脚本被中止,重命名的文件将保持重命名和/或隐藏,这可能是一个问题。