有一個簡單的方法可以檢查檔案上傳進度。只要使用 ftell 函式來觀察檔案控制代碼中的位置即可。 ftp_nb_fput 會隨著檔案傳輸而增加位置。
範例
<?
$fh = fopen ($file_name, "r");
$ret = ftp_nb_fput ($ftp, $file_name, $fh, FTP_BINARY);
當 ($ret == FTP_MOREDATA) 時 {
印出 ftell ($fh)."\n";
$ret = ftp_nb_continue($ftp);
}
如果 ($ret != FTP_FINISHED) {
印出 ("上傳錯誤\n");
結束(1);
}
關閉檔案($fh);
?>
這會在每次迴圈運行時印出目前已傳輸的位元組數。要將其轉換為百分比,只需將已傳輸的位元組數除以檔案的總大小即可。