WP_Filesystem_ftpsockets::put_contents()publicWP 2.5.0

Writes a string to a file.

Метод класса: WP_Filesystem_ftpsockets{}

Хуков нет.

Возвращает

true|false. True on success, false on failure.

Использование

$WP_Filesystem_ftpsockets = new WP_Filesystem_ftpsockets();
$WP_Filesystem_ftpsockets->put_contents( $file, $contents, $mode );
$file(строка) (обязательный)
Remote path to the file where to write the data.
$contents(строка) (обязательный)
The data to write.
$mode(int|false)
The file permissions as octal number, usually 0644.
По умолчанию: false

Список изменений

С версии 2.5.0 Введена.

Код WP_Filesystem_ftpsockets::put_contents() WP 6.5.2

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;
}