ftp_nb_put

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_put存儲(chǔ)一個(gè)文件至 FTP 服務(wù)器(non-blocking)

說明

ftp_nb_put(
    resource $ftp_stream,
    string $remote_file,
    string $local_file,
    int $mode = FTP_BINARY,
    int $startpos = 0
): int

ftp_nb_put() 函數(shù)用來把本地文件 local_file 存儲(chǔ)到 FTP 服務(wù)器上由 remote_file 參數(shù)指定的路徑。

與函數(shù) ftp_put() 不同的是,此函數(shù)上傳文件的時(shí)候采用的是異步傳輸模式,也就意味著在文件傳送的過程中,你的程序可以繼續(xù)干其它的事情。

參數(shù)

ftp_stream

FTP 連接的鏈接標(biāo)識(shí)符。

remote_file

遠(yuǎn)程文件路徑。

local_file

本地文件路徑。

mode

傳輸模式選擇,可選參數(shù)為 FTP_ASCII(文本模式)或 FTP_BINARY(二進(jìn)制模式)。

startpos

指定傳輸開始的位置,用來續(xù)傳支持。

返回值

返回 FTP_FAILEDFTP_FINISHEDFTP_MOREDATA

更新日志

版本 說明
7.3.0 mode 參數(shù)為可選,之前版本中為必填。

范例

示例 #1 ftp_nb_put() 示例

<?php

// 初始化
$ret ftp_nb_put($my_connection"test.remote""test.local"FTP_BINARY);
while (
$ret == FTP_MOREDATA) {
   
   
// 可以同時(shí)干其它事
   
echo ".";

   
// 繼續(xù)上傳...
   
$ret ftp_nb_continue($my_connection);
}
if (
$ret != FTP_FINISHED) {
   echo 
"上傳過程中發(fā)生錯(cuò)誤...";
   exit(
1);
}
?>

示例 #2 使用 ftp_nb_put() 來續(xù)傳文件

<?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) {
   
   
// 可以同時(shí)干其它事情
   
echo ".";

   
// 繼續(xù)上傳...
   
$ret ftp_nb_continue($my_connection);
}
if (
$ret != FTP_FINISHED) {
   echo 
"上傳過程中發(fā)生錯(cuò)誤...";
   exit(
1);
}
?>

參見

  • ftp_nb_fput() - 將文件存儲(chǔ)到 FTP 服務(wù)器 (非阻塞)
  • ftp_nb_continue() - 連續(xù)獲?。l(fā)送文件(以不分塊的方式 non-blocking)
  • ftp_put() - 上傳文件到 FTP 服務(wù)器
  • ftp_fput() - 上傳一個(gè)已經(jīng)打開的文件到 FTP 服務(wù)器