WP_Filesystem_ftpsockets::put_contents() WordPress Method

The WP_Filesystem_ftpsockets::put_contents() method is used to write contents to a file on a remote FTP server. This is a wrapper for the ftp_fput() function.

WP_Filesystem_ftpsockets::put_contents( string $file, string $contents, int|false $mode = false ) #

Writes a string to a file.


Parameters

$file

(string)(Required)Remote path to the file where to write the data.

$contents

(string)(Required)The data to write.

$mode

(int|false)(Optional) The file permissions as octal number, usually 0644.

Default value: false


Top ↑

Return

(bool) True on success, false on failure.


Top ↑

Source

File: wp-admin/includes/class-wp-filesystem-ftpsockets.php

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

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

		// The FTP class uses string functions internally during file download/upload.
		mbstring_binary_safe_encoding();

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

		if ( false === $bytes_written || strlen( $contents ) !== $bytes_written ) {
			fclose( $temphandle );
			unlink( $tempfile );

			reset_mbstring_encoding();

			return false;
		}

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

		$ret = $this->ftp->fput( $file, $temphandle );

		reset_mbstring_encoding();

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

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

		return $ret;
	}


Top ↑

Changelog

Changelog
VersionDescription
2.5.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.