ftp_nb_fput

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

ftp_nb_fput將文件存儲(chǔ)到 FTP 服務(wù)器 (非阻塞)

說(shuō)明

ftp_nb_fput(
    resource $ftp_stream,
    string $remote_file,
    resource $handle,
    int $mode = FTP_IMAGE,
    int $startpos = 0
): int

ftp_nb_fput() 把已打開(kāi)的文件內(nèi)容存儲(chǔ)到遠(yuǎn)程 FTP 服務(wù)器

本函數(shù)和 ftp_fput() 函數(shù)的區(qū)別是 本函數(shù)是異步上傳文件。 所以在文件上傳過(guò)程中,你的程序還可以執(zhí)行其他操作。

參數(shù)

ftp_stream

FTP 連接標(biāo)示符。

remote_file

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

handle

已經(jīng)打開(kāi)的本地文件指針,當(dāng)讀取到文件末尾時(shí)結(jié)束。

mode

傳輸模式。必須是 FTP_ASCIIFTP_BINARY

startpos

要將文件存儲(chǔ)到遠(yuǎn)程文件的開(kāi)始位置(即從遠(yuǎn)程文件的哪個(gè)字節(jié)位置開(kāi)始存儲(chǔ))。

返回值

返回 FTP_FAILEDFTP_FINISHEDFTP_MOREDATA

更新日志

版本 說(shuō)明
7.3.0 參數(shù) mode 變?yōu)榭蛇x參數(shù)。 在之前的版本中,這是一個(gè)必填參數(shù)。

范例

示例 #1 ftp_nb_fput() 函數(shù)例程

<?php

$file 
'index.php';

$fp fopen($file'r');

$conn_id ftp_connect($ftp_server);

$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

// 初始化上傳
$ret ftp_nb_fput($conn_id$file$fpFTP_BINARY);
while (
$ret == FTP_MOREDATA) {

   
// 任何其他需要做的操作
   
echo ".";

   
// 繼續(xù)上傳...
   
$ret ftp_nb_continue($conn_id);
}
if (
$ret != FTP_FINISHED) {
   echo 
"There was an error uploading the file...";
   exit(
1);
}

fclose($fp);
?>

參見(jiàn)

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