@Scott B I have not tested this script, taken from inlcudes/file.php -> line 559
_unzip_file_pclzip
assumes WP_Filesystem() has already been called, so you need to set up global $wp_filesystem
global $wp_filesystem;
$needed_dirs = array();
$target = trailingslashit($target);
// Determine any parent dir's needed (of the upgrade directory)
if ( ! $wp_filesystem->is_dir($target) ) { //Only do parents if no children exist
$path = preg_split('![/\\\]!', untrailingslashit($target));
for ( $i = count($path); $i >= 0; $i-- ) {
if ( empty($path[$i]) )
continue;
$dir = implode("https://wordpress.stackexchange.com/", array_slice($path, 0, $i+1) );
if ( preg_match('!^[a-z]:$!i', $dir) ) // Skip it if it looks like a Windows Drive letter.
continue;
if ( ! $wp_filesystem->is_dir($dir) )
$needed_dirs[] = $dir;
else
break; // A folder exists, therefor, we dont need the check the levels below this
}
}