ftp_nb_get() - ftp函数
ftp_nb_get()
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
从 FTP 服务器上获取文件并写入本地文件(non-blocking)
说明
ftp_nb_get(resource $ftp_stream,string $local_file,string $remote_file,int $mode[,int $resumepos]): boolftp_nb_get()函数用来获取参数$remote_file指定的的远程文件,并保存到由参数$local_file指定的本地文件。传输模式参数$mode只能为FTP_ASCII
(文本模式)或FTP_BINARY
(二进制模式)两种。与ftp_get()函数不同的是,此函数上传文件的时候采用的是异步传输模式,也就意味着在文件传送的过程中,你的程序可以继续干其它的事情。
返回FTP_FAILED
,FTP_FINISHED
或FTP_MOREDATA
。
ftp_nb_get()实例
使用ftp_nb_get()函数断线续传
用ftp_nb_get()在 100 的位置断线续传并存为"newfile"
// 禁止自动搜寻 ftp_set_option ($my_connection, FTP_AUTOSEEK, FALSE); // 开始 $ret = ftp_nb_get ($my_connection, "newfile", "README", FTP_BINARY, 100); while ($ret == FTP_MOREDATA) { ... // 继续下载... $ret = ftp_nb_continue ($my_connection); }
在上边的例子中,"newfile"文件比服务器上的文件"README"要小 100 字节。这是因为我们是从文件的偏移量 100 处开始读取的,如果没有禁止FTP_AUTOSEEK
,则"newfile"的前 100 字节将会是'0'。
参见ftp_nb_fget(),ftp_nb_continue(),ftp_get()和ftp_fget()。
Note that you may have to keep calling ftp_nb_continue in order to complete the download. For example, if you do this: Your local file may only contains a few kilobytes and the later ftp_nb_continue will keep raising warning of no more data (due to connection time out, I guess). So you may want to do this instead: This happened on my Windows XP + PHP 5.3.8 under CLI. Hope this helps someone.
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!