GC_Filesystem_ftpsockets::put_contents()
最后更新于:2021-11-27 19:37:11
GC_Filesystem_ftpsockets::put_contents( string$file, string$contents, int|false$mode=false)Writes a string to a file.
参数
- $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
响应
(bool) True on success, false on failure.
源文件
文件: gc-admin/includes/class-gc-filesystem-ftpsockets.php
public function put_contents( $file, $contents, $mode = false ) {
$tempfile = gc_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;
}