wp_mkdir_p()
wp_mkdir_p( string $target ) 基于完整路径的递归目录创建。 Recursive d…
wp_mkdir_p( string $target )
基于完整路径的递归目录创建。
Recursive directory creation based on full path.
目录锚点:#说明#参数#源码#笔记
说明(Description)
将尝试设置文件夹的权限。
参数(Parameters)
参数 | 类型 | 说明 |
---|---|---|
$target | (string) | 尝试创建的完整路径。 |
源码(Source)
/** * Recursive directory creation based on full path. * * Will attempt to set permissions on folders. * * @since 2.0.1 * * @param string $target Full path to attempt to create. * @return bool Whether the path was created. True if path already exists. */ function wp_mkdir_p( $target ) { $wrapper = null; // Strip the protocol. if ( wp_is_stream( $target ) ) { list( $wrapper, $target ) = explode( '://', $target, 2 ); } // From php.net/mkdir user contributed notes. $target = str_replace( '//', '/', $target ); // Put the wrapper back on the target. if ( $wrapper !== null ) { $target = $wrapper . '://' . $target; } /* * Safe mode fails with a trailing slash under certain PHP versions. * Use rtrim() instead of untrailingslashit to avoid formatting.php dependency. */ $target = rtrim($target, '/'); if ( empty($target) ) $target = '/'; if ( file_exists( $target ) ) return @is_dir( $target ); // We need to find the permissions of the parent folder that exists and inherit that. $target_parent = dirname( $target ); while ( '.' != $target_parent && ! is_dir( $target_parent ) ) { $target_parent = dirname( $target_parent ); } // Get the permission bits. if ( $stat = @stat( $target_parent ) ) { $dir_perms = $stat['mode'] & 0007777; } else { $dir_perms = 0777; } if ( @mkdir( $target, $dir_perms, true ) ) { /* * If a umask is set that modifies $dir_perms, we'll have to re-set * the $dir_perms correctly with chmod() */ if ( $dir_perms != ( $dir_perms & ~umask() ) ) { $folder_parts = explode( '/', substr( $target, strlen( $target_parent ) + 1 ) ); for ( $i = 1, $c = count( $folder_parts ); $i <= $c;="" $i++="" )="" {="" @chmod(="" $target_parent="" .="" '/'="" .="" implode(="" '/',="" array_slice(="" $folder_parts,="" 0,="" $i="" )="" ),="" $dir_perms="" );="" }="" }="" return="" true;="" }="" return="" false;="" }="">
更新版本 | 源码位置 | 使用 | 被使用 |
---|---|---|---|
2.0.1 | wp-includes/functions.php | 7 | 18 |
笔记(Notes)
基本示例
类别:WordPress 函数手册、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!