WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru
функция не описана

PclZip::extract() public WP 1.0

Function : extract($p_path="./", $p_remove_path="") extract([$p_option, $p_option_value, ...]) Description : This method supports two synopsis. The first one is historical. This method extract all the files / directories from the archive to the folder indicated in $p_path. If you want to ignore the 'root' part of path of the memorized files you can indicate this in the optional $p_remove_path parameter. By default, if a newer file with the same name already exists, the file is not extracted.

If both PCLZIP_OPT_PATH and PCLZIP_OPT_ADD_PATH options are used, the path indicated in PCLZIP_OPT_ADD_PATH is append at the end of the path value of PCLZIP_OPT_PATH. Parameters : $p_path : Path where the files and directories are to be extracted $p_remove_path : First part ('root' part) of the memorized path (if any similar) to remove while extracting. Options : PCLZIP_OPT_PATH : PCLZIP_OPT_ADD_PATH : PCLZIP_OPT_REMOVE_PATH : PCLZIP_OPT_REMOVE_ALL_PATH : PCLZIP_CB_PRE_EXTRACT : PCLZIP_CB_POST_EXTRACT : Return Values :
0 or a negative value on failure, The list of the extracted files, with a status of the action. (see PclZip::listContent() for list entry format)

Это метод класса: PclZip{}

Хуков нет.

Возвращает

Null. Ничего.

Использование

$PclZip = new PclZip();
$PclZip->extract();

Код PclZip::extract() WP 5.5.1

wp-admin/includes/class-pclzip.php
<?php
function extract()
{
  $v_result=1;

  // ----- Reset the error handler
  $this->privErrorReset();

  // ----- Check archive
  if (!$this->privCheckFormat()) {
    return(0);
  }

  // ----- Set default values
  $v_options = array();
//    $v_path = "./";
  $v_path = '';
  $v_remove_path = "";
  $v_remove_all_path = false;

  // ----- Look for variable options arguments
  $v_size = func_num_args();

  // ----- Default values for option
  $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE;

  // ----- Look for arguments
  if ($v_size > 0) {
    // ----- Get the arguments
    $v_arg_list = func_get_args();

    // ----- Look for first arg
    if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) {

      // ----- Parse the options
      $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options,
                                          array (PCLZIP_OPT_PATH => 'optional',
                                                 PCLZIP_OPT_REMOVE_PATH => 'optional',
                                                 PCLZIP_OPT_REMOVE_ALL_PATH => 'optional',
                                                 PCLZIP_OPT_ADD_PATH => 'optional',
                                                 PCLZIP_CB_PRE_EXTRACT => 'optional',
                                                 PCLZIP_CB_POST_EXTRACT => 'optional',
                                                 PCLZIP_OPT_SET_CHMOD => 'optional',
                                                 PCLZIP_OPT_BY_NAME => 'optional',
                                                 PCLZIP_OPT_BY_EREG => 'optional',
                                                 PCLZIP_OPT_BY_PREG => 'optional',
                                                 PCLZIP_OPT_BY_INDEX => 'optional',
                                                 PCLZIP_OPT_EXTRACT_AS_STRING => 'optional',
                                                 PCLZIP_OPT_EXTRACT_IN_OUTPUT => 'optional',
                                                 PCLZIP_OPT_REPLACE_NEWER => 'optional'
                                                 ,PCLZIP_OPT_STOP_ON_ERROR => 'optional'
                                                 ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_ON => 'optional',
                                                 PCLZIP_OPT_TEMP_FILE_OFF => 'optional'
												    ));
      if ($v_result != 1) {
        return 0;
      }

      // ----- Set the arguments
      if (isset($v_options[PCLZIP_OPT_PATH])) {
        $v_path = $v_options[PCLZIP_OPT_PATH];
      }
      if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) {
        $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH];
      }
      if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) {
        $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH];
      }
      if (isset($v_options[PCLZIP_OPT_ADD_PATH])) {
        // ----- Check for '/' in last path char
        if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) {
          $v_path .= '/';
        }
        $v_path .= $v_options[PCLZIP_OPT_ADD_PATH];
      }
    }

    // ----- Look for 2 args
    // Here we need to support the first historic synopsis of the
    // method.
    else {

      // ----- Get the first argument
      $v_path = $v_arg_list[0];

      // ----- Look for the optional second argument
      if ($v_size == 2) {
        $v_remove_path = $v_arg_list[1];
      }
      else if ($v_size > 2) {
        // ----- Error log
        PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments");

        // ----- Return
        return 0;
      }
    }
  }

  // ----- Look for default option values
  $this->privOptionDefaultThreshold($v_options);

  // ----- Trace

  // ----- Call the extracting fct
  $p_list = array();
  $v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path,
	                                     $v_remove_all_path, $v_options);
  if ($v_result < 1) {
    unset($p_list);
    return(0);
  }

  // ----- Return
  return $p_list;
}