问题是ftp_put()命令的传输速度非常慢:
$ftp = ftp_connect( 'host' );
ftp_login( $ftp, 'user', 'password' );
ftp_pasv( $ftp, TRUE );
ftp_put( $ftp, 'local_file', 'remote_path', FTP_BINARY );
2MB文件的传输速度约为15秒,而WinSCP客户端在1-2秒内上传相同的文件。
所以我想这是因为我的网络连接有很大的延迟,文件正在非常小的块中传输。
我该如何解决这个问题?
答案 0 :(得分:1)
您可以使用PHP ftp_raw命令:
ftp_raw($ftp_conn, "BLKSIZE=nnnn");
其中nnnn是您要设置的块大小。