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.
目录锚点:#说明#参数#源码#笔记
说明(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 删除。
还没有任何评论,赶紧来占个楼吧!