phpseclib\Net\SSH1::_send_binary_packet PHP Method

_send_binary_packet() public method

Returns true on success, false on failure.
See also: self::_get_binary_packet()
public _send_binary_packet ( string $data ) : boolean
$data string
return boolean
    function _send_binary_packet($data)
    {
        if (feof($this->fsock)) {
            //user_error('connection closed prematurely');
            return false;
        }
        $length = strlen($data) + 4;
        $padding = Random::string(8 - ($length & 7));
        $orig = $data;
        $data = $padding . $data;
        $data .= pack('N', $this->_crc($data));
        if ($this->crypto !== false) {
            $data = $this->crypto->encrypt($data);
        }
        $packet = pack('Na*', $length, $data);
        $start = strtok(microtime(), ' ') + strtok('');
        // http://php.net/microtime#61838
        $result = strlen($packet) == fputs($this->fsock, $packet);
        $stop = strtok(microtime(), ' ') + strtok('');
        if (defined('NET_SSH1_LOGGING')) {
            $temp = isset($this->protocol_flags[ord($orig[0])]) ? $this->protocol_flags[ord($orig[0])] : 'UNKNOWN';
            $temp = '-> ' . $temp . ' (' . round($stop - $start, 4) . 's)';
            $this->_append_log($temp, $orig);
        }
        return $result;
    }