ftp_nb_put

(PHP 4 >= 4.3.0, PHP 5)

ftp_nb_put -- 存儲一個檔案至 FTP 伺服器(non-blocking)

說明

int ftp_nb_put ( resource ftp_stream, string remote_file, string local_file, int mode [, int startpos] )

ftp_nb_put() 函數用來把本地檔案 local_file 存儲到 FTP 伺服器上由 remote_file 參數特殊的路徑。傳輸模式參數 mode 只能為 FTP_ASCII (文字模式) 或 FTP_BINARY (二進位模式) 兩種。與函數 ftp_put() 不同的是,此函數上傳檔案的時候採用的是異步傳輸模式,也就意味著在檔案傳輸的過程中,你的程式可以繼續干其它的事情。

返回 FTP_FAILEDFTP_FINISHEDFTP_MOREDATA

例子 1. ftp_nb_put() 案例

<?php
// 開始上傳
$ret ftp_nb_put($my_connection"test.remote""test.local"FTP_BINARY);
while (
$ret == FTP_MOREDATA) {

   
// 在這裡可以加入其它代碼
   
echo ".";

   
// 繼續傳輸...
   
$ret ftp_nb_continue ($my_connection);
}
if (
$ret != FTP_FINISHED) {
   echo 
"上傳檔案中發生錯誤...";
   exit(
1);
}
?>

例子 2. 使用 ftp_nb_put() 來斷線續傳

<?php
// 開始
$ret ftp_nb_put ($my_connection"test.remote""test.local",
                      
FTP_BINARYftp_size("test.remote"));
// 或: $ret = ftp_nb_put ($my_connection, "test.remote", "test.local",
//                           FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {

   
// 加入其它要執行的代碼
   
echo ".";

   
// 繼續傳輸...
   
$ret ftp_nb_continue ($my_connection);
}
if (
$ret != FTP_FINISHED) {
   echo 
"上傳檔案中發生錯誤...";
   exit(
1);
}
?>

參見 ftp_nb_fput()ftp_nb_continue()ftp_put()ftp_fput()