Write to a socket

- « socket_strerror

- socket_wsaprotocol_info_export »

- PHP Manual
- Socket Functions
- Write to a socket

# socket_write

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

socket_write — Write to a socket

### Description

socket_write(Socket `$socket`, string `$data`, ?int `$length` = `null`): int|false

The function socket_write() writes to the `socket` from the given `data`.

### Parameters

`socket`

`data`

  The buffer to be written.

`length`

  The optional parameter `length` can specify an alternate length of bytes written to the socket. If this length is greater than the buffer length, it is silently truncated to the length of the buffer.

### Return Values

Returns the number of bytes successfully written to the socket or `false` on failure. The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual explanation of the error.

> Note:

> It is perfectly valid for socket_write() to return zero which means no bytes have been written. Be sure to use the `===` operator to check for `false` in case of an error.

### Changelog

Version | Description
--- | ---
8.0.0 | `socket` is a Socket instance now; previously, it was a resource.
8.0.0 | `length` is nullable now.

### Notes

> Note:

> socket_write() does not necessarily write all bytes from the given buffer. It's valid that, depending on the network buffers etc., only a certain amount of data, even one byte, is written though your buffer is greater. You have to watch out so you don't unintentionally forget to transmit the rest of your data.

### See Also

- socket_accept() - Accepts a connection on a socket
- socket_bind() - Binds a name to a socket
- socket_connect() - Initiates a connection on a socket
- socket_listen() - Listens for a connection on a socket
- socket_read() - Reads a maximum of length bytes from a socket
- socket_strerror() - Return a string describing a socket error