phpseclib的sftp put命令是同步的吗?

Is phpseclib's sftp put command synchronous?

我正在做 put,然后删除文件,即

$sftp->put($filename_dest, $filename, NET_SFTP_LOCAL_FILE);
unlink($filename); 

这是安全的,还是 put 异步的?

它是同步的。在引擎盖下它基本上只是做一个 while 循环

https://github.com/phpseclib/phpseclib/blob/2.0.14/phpseclib/Net/SFTP.php#L2011

$size定义为本地文件的大小:

https://github.com/phpseclib/phpseclib/blob/2.0.14/phpseclib/Net/SFTP.php#L1990

$sent 从 0 开始,并按每次循环期间发送的数据大小递增。

最终,发送的数据量将达到(或超过)文件的大小,整个循环将中断。