On this page
WP_Filesystem_ftpsockets::put_contents( string $file, string $contents, int|false $mode = false ): bool
Writes a string to a file.
Parameters
$filestring Required-
Remote path to the file where to write the data.
$contentsstring Required-
The data to write.
$modeint|false Optional-
The file permissions as octal number, usually 0644.
Default:
false
Return
bool True on success, false on failure.
Source
File: wp-admin/includes/class-wp-filesystem-ftpsockets.php. View all references
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;
}
Related
Uses
| Uses | Description |
|---|---|
| WP_Filesystem_ftpsockets::chmod() wp-admin/includes/class-wp-filesystem-ftpsockets.php | Changes filesystem permissions. |
| wp_tempnam() wp-admin/includes/file.php | Returns a filename of a temporary unique file. |
| mbstring_binary_safe_encoding() wp-includes/functions.php | Sets the mbstring internal encoding to a binary safe encoding when func_overload is enabled. |
| reset_mbstring_encoding() wp-includes/functions.php | Resets the mbstring internal encoding to a users previously set encoding. |
Used By
| Used By | Description |
|---|---|
| WP_Filesystem_ftpsockets::copy() wp-admin/includes/class-wp-filesystem-ftpsockets.php | Copies a file. |
Changelog
| Version | Description |
|---|---|
| 2.5.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_filesystem_ftpsockets/put_contents