wp_upload_bits()
wp_upload_bits( string $name, null|string $deprecated, …
wp_upload_bits( string $name, null|string $deprecated, string $bits, string $time = null )
在上载文件夹中创建具有给定内容的文件。
Create a file in the upload folder with given content.
在上载文件夹中创建具有给定内容的文件。
Create a file in the upload folder with given content.
目录锚点:#说明#参数#源码#笔记
说明(Description)
如果存在错误,则键“error”将存在并显示错误消息。如果成功,则密钥’file’将具有唯一的文件路径,’url’键将具有指向新文件的链接。“error”键将被设置为false。此函数不会将上载的文件移动到上载文件夹。它将使用$bits参数中的内容创建一个新文件。如果移动上载文件,请读取上载文件的内容,然后可以将文件名和内容赋给此函数,该函数会将其添加到上载文件夹中。此功能将自动设置新文件的权限。
参数(Parameters)
| 参数 | 类型 | 说明 |
|---|---|---|
| $name | (string) | 文件名。 |
| $deprecated | (null | string) | 从未使用过。设置为空。 |
| $bits | (string) | 文件内容 |
| $time | (string) | 时间格式为“yyyy/mm”。 |
源码(Source)
/**
* Create a file in the upload folder with given content.
*
* If there is an error, then the key 'error' will exist with the error message.
* If success, then the key 'file' will have the unique file path, the 'url' key
* will have the link to the new file. and the 'error' key will be set to false.
*
* This function will not move an uploaded file to the upload folder. It will
* create a new file with the content in $bits parameter. If you move the upload
* file, read the content of the uploaded file, and then you can give the
* filename and content to this function, which will add it to the upload
* folder.
*
* The permissions will be set on the new file automatically by this function.
*
* @since 2.0.0
*
* @param string $name Filename.
* @param null|string $deprecated Never used. Set to null.
* @param mixed $bits File content
* @param string $time Optional. Time formatted in 'yyyy/mm'. Default null.
* @return array
*/
function wp_upload_bits( $name, $deprecated, $bits, $time = null ) {
if ( !empty( $deprecated ) )
_deprecated_argument( __FUNCTION__, '2.0' );
if ( empty( $name ) )
return array( 'error' => __( 'Empty filename' ) );
$wp_filetype = wp_check_filetype( $name );
if ( ! $wp_filetype['ext'] && ! current_user_can( 'unfiltered_upload' ) )
return array( 'error' => __( 'Invalid file type' ) );
$upload = wp_upload_dir( $time );
if ( $upload['error'] !== false )
return $upload;
/**
* Filter whether to treat the upload bits as an error.
*
* Passing a non-array to the filter will effectively short-circuit preparing
* the upload bits, returning that value instead.
*
* @since 3.0.0
*
* @param mixed $upload_bits_error An array of upload bits data, or a non-array error to return.
*/
$upload_bits_error = apply_filters( 'wp_upload_bits', array( 'name' => $name, 'bits' => $bits, 'time' => $time ) );
if ( !is_array( $upload_bits_error ) ) {
$upload[ 'error' ] = $upload_bits_error;
return $upload;
}
$filename = wp_unique_filename( $upload['path'], $name );
$new_file = $upload['path'] . "/$filename";
if ( ! wp_mkdir_p( dirname( $new_file ) ) ) {
if ( 0 === strpos( $upload['basedir'], ABSPATH ) )
$error_path = str_replace( ABSPATH, '', $upload['basedir'] ) . $upload['subdir'];
else
$error_path = basename( $upload['basedir'] ) . $upload['subdir'];
$message = sprintf( __( 'Unable to create directory %s. Is its parent directory writable by the server?' ), $error_path );
return array( 'error' => $message );
}
$ifp = @ fopen( $new_file, 'wb' );
if ( ! $ifp )
return array( 'error' => sprintf( __( 'Could not write file %s' ), $new_file ) );
@fwrite( $ifp, $bits );
fclose( $ifp );
clearstatcache();
// Set correct file permissions
$stat = @ stat( dirname( $new_file ) );
$perms = $stat['mode'] & 0007777;
$perms = $perms & 0000666;
@ chmod( $new_file, $perms );
clearstatcache();
// Compute the URL
$url = $upload['url'] . "/$filename";
return array( 'file' => $new_file, 'url' => $url, 'error' => false );
}| 更新版本 | 源码位置 | 使用 | 被使用 |
|---|---|---|---|
| 2.0.0 | wp-includes/functions.php | 5 | 19 |
笔记(Notes)
该函数返回一个包含以下键的数组:
类别:WordPress 函数手册、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

还没有任何评论,赶紧来占个楼吧!