WP_Filesystem_FTPext::put_contents( string $file, string $contents, int|false $mode = false ): bool

In this article

Writes a string to a file.

Parameters

$filestringrequired
Remote path to the file where to write the data.
$contentsstringrequired
The data to write.
$modeint|falseoptional
The file permissions as octal number, usually 0644.

Default:false

Return

bool True on success, false on failure.

Source

public function put_contents( $file, $contents, $mode = false ) {
	$tempfile   = wp_tempnam( $file );
	$temphandle = fopen( $tempfile, 'wb+' );

	if ( ! $temphandle ) {
		unlink( $tempfile );
		return false;
	}

	mbstring_binary_safe_encoding();

	$data_length   = strlen( $contents );
	$bytes_written = fwrite( $temphandle, $contents );

	reset_mbstring_encoding();

	if ( $data_length !== $bytes_written ) {
		fclose( $temphandle );
		unlink( $tempfile );
		return false;
	}

	fseek( $temphandle, 0 ); // Skip back to the start of the file being written to.

	$ret = ftp_fput( $this->link, $file, $temphandle, FTP_BINARY );

	fclose( $temphandle );
	unlink( $tempfile );

	$this->chmod( $file, $mode );

	return $ret;
}

Changelog

VersionDescription
2.5.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.