ftp_nb_get,一種函式,用來獲取參數 remote_file 指定的的遠程檔案,並保存到由參數 local_file 指定的本地檔案。
基本介紹
- 外文名:ftp_nb_get
- 獲取地點: FTP 伺服器
- 作用:獲取檔案並寫入本地檔案
- 開始讀取:從檔案的偏移量 100 處開始讀取
ftp_nb_get,說明,
ftp_nb_get
(PHP 4 >= 4.3.0)
ftp_nb_get -- 從 FTP 伺服器上獲取檔案並寫入本地檔案(non-blocking)
說明
bool ftp_nb_get ( resource ftp_stream, string local_file, string remote_file, int mode [, int resumepos])
傳輸模式參數 mode 只能為 FTP_ASCII (文本模式) 或 FTP_BINARY (二進制模式) 兩種。與 ftp_get() 函式不同的是,此函式上傳檔案的時候採用的是異步傳輸模式,也就意味著在檔案傳送的過程中,你的程式可以繼續乾其它的事情。
返回 FTP_FAILED,FTP_FINISHED 或 FTP_MOREDATA。
例子 2. 使用 ftp_nb_get()函式斷線續傳 <?php // 開始 $ret = ftp_nb_get ($my_connection, "test", "README", FTP_BINARY, filesize("test")); // 或: $ret = ftp_nb_get ($my_connection, "test", "README", // FTP_BINARY, FTP_AUTORESUME); while ($ret == FTP_MOREDATA) { // 可以插入其它代碼 echo "."; // 繼續傳送... $ret = ftp_nb_continue ($my_connection); } if ($ret != FTP_FINISHED) { echo "下載出錯..."; exit(1); } ?> |
例子 3. 用 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'。