API15:JArchiveTar/extract/ja
出典: Joomla! ドキュメンテーション
目次 |
Description
Extract a ZIP compressed file to a given path
Syntax
extract($archive, $destination, $options=array())
| Parameter Name | Default Value | Description |
|---|---|---|
| $archive | $archive Path to ZIP archive to extract | |
| $destination | $destination Path to extract archive into | |
| $options | array() | $options Extraction options [unused] |
Returns
boolean True if successful
Defined in
libraries/joomla/filesystem/archive/tar.php
Importing
jimport( 'joomla.filesystem.archive.tar' );
Source Body
function extract($archive, $destination, $options = array ()) { // Initialize variables $this->_data = null; $this->_metadata = null; if (!$this->_data = JFile::read($archive)) { $this->set('error.message', 'Unable to read archive'); return JError::raiseWarning(100, $this->get('error.message')); } if (!$this->_getTarInfo($this->_data)) { return JError::raiseWarning(100, $this->get('error.message')); } for ($i=0,$n=count($this->_metadata);$i<$n;$i++) { $type = strtolower( $this->_metadata[$i]['type'] ); if ($type == 'file' || $type == 'unix file') { $buffer = $this->_metadata[$i]['data']; $path = JPath::clean($destination.DS.$this->_metadata[$i]['name']); // Make sure the destination folder exists if (!JFolder::create(dirname($path))) { $this->set('error.message', 'Unable to create destination'); return JError::raiseWarning(100, $this->get('error.message')); } if (JFile::write($path, $buffer) === false) { $this->set('error.message', 'Unable to write entry'); return JError::raiseWarning(100, $this->get('error.message')); } } } return true; }
Examples
<CodeExamplesForm />
