NukeViet\Ftp\Ftp::read PHP 메소드

read() 공개 메소드

public read ( mixed $remote, mixed &$buffer )
$remote mixed
$buffer mixed
    public function read($remote, &$buffer)
    {
        $mode = $this->DetectedMode($remote);
        // Bat passive mode on
        if (ftp_pasv($this->conn_id, true) === false) {
            $this->error = NV_FTP_ERR_PASSIVE_ON;
            return false;
        }
        if (!in_array('nvbuffer', stream_get_wrappers())) {
            stream_wrapper_register('nvbuffer', 'NukeViet\\Ftp\\Buffer');
        }
        $tmp = fopen('nvbuffer://tmp', 'br+');
        if (ftp_fget($this->conn_id, $tmp, $remote, $mode) === false) {
            fclose($tmp);
            $this->error = NV_FTP_ERR_FGET;
            return false;
        }
        rewind($tmp);
        $buffer = '';
        while (!feof($tmp)) {
            $buffer .= fread($tmp, 8192);
        }
        fclose($tmp);
        return true;
    }