PHP FTP 转账金额

标签 php

是否可以使用 PHP 的 FTP module 检测已传输了多少数据? ?

伪代码

... connect to server
ftp_nb_put(file...)
while(true) {
    $data = ftp_nb_continue(file...);
    if ($data === FTP_MOREDATA) {
        continue ... get amount transfered ...
    } else {
        break ... check if finished etc ...
    }
}

最佳答案

您现在可能已经有了答案,但是对于任何正在搜索的人... 这是一个带进度回调的ftp上传函数。 $lcfn = 本地文件名 $rmfn = 远程文件名

function ftp_upload($conn, $lcfn, $rmfn, $progress)
{
    $ret = false;

    $_pc = -1;
    $totalBytes = filesize($lcfn);

    $fp = fopen($lcfn, 'rb');

    $state = @ftp_nb_fput($conn, $rmfn, $fp, FTP_BINARY);

    if($state !== FTP_FAILED){

        while($state === FTP_MOREDATA){

            $doneSofar = ftell($fp);
            $percent = (integer)(($doneSofar / $totalBytes) * 100);

            if($_pc != $percent){
                $progress($percent);
                $_pc = $percent;
            }

            $state = @ftp_nb_continue($conn);
        }

        if($state === FTP_FINISHED){

            if($_pc != 100){
                $progress(100);
            }

            $ret = true;

        }else{
            //error: not finished
        }
    }else{
        //error: failure
    }

    fclose($fp);
    return $ret;
}

关于PHP FTP 转账金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14901018/

相关文章:

php - 如何删除 SilverStripe 中过时的数据库列

php + mysql 两表排序

php - 在 PHP 中使用单个 preg_match_all 查找多个模式

PHP:mysql v mysqli v pdo

php - 轮询 MySQL 并淡出元素

php - 简单的 html dom 查找未指定的元素

php - PHP 中连续的 if 条件

PHP和C++汉字倒序UTF-8编码单元

php - 将我的数据库表转换为树并在 php 中获取叶节点

php - 在 Magento 2 如何覆盖 phtml 或布局核心文件?