function Archive_Tar::_openRead
7.x system.tar.inc | Archive_Tar::_openRead() |
4 calls to Archive_Tar::_openRead()
- Archive_Tar::extractInString in drupal-7.x/
modules/ system/ system.tar.inc - This method extract from the archive one file identified by $p_filename. The return value is a string with the file content, or NULL on error.
- Archive_Tar::extractList in drupal-7.x/
modules/ system/ system.tar.inc - This method extract from the archive only the files indicated in the $p_filelist. These files are extracted in the current directory or in the directory indicated by the optional $p_path parameter. If indicated the $p_remove_path can be used in the…
- Archive_Tar::extractModify in drupal-7.x/
modules/ system/ system.tar.inc - This method extract all the content of the archive in the directory indicated by $p_path. When relevant the memorized path of the files/dir can be modified by removing the $p_remove_path path at the beginning of the file/dir path. While extracting a…
- Archive_Tar::listContent in drupal-7.x/
modules/ system/ system.tar.inc
File
- drupal-7.x/
modules/ system/ system.tar.inc, line 683
Class
- Archive_Tar
- Creates a (compressed) Tar archive *
Code
function _openRead()
{
if (strtolower(substr($this->_tarname, 0, 7)) == 'http://') {
// ----- Look if a local copy need to be done
if ($this->_temp_tarname == '') {
$this->_temp_tarname = uniqid('tar') . '.tmp';
if (!$v_file_from = @fopen($this->_tarname, 'rb')) {
$this->_error('Unable to open in read mode \''
. $this->_tarname . '\'');
$this->_temp_tarname = '';
return false;
}
if (!$v_file_to = @fopen($this->_temp_tarname, 'wb')) {
$this->_error('Unable to open in write mode \''
. $this->_temp_tarname . '\'');
$this->_temp_tarname = '';
return false;
}
while ($v_data = @fread($v_file_from, 1024)) {
@fwrite($v_file_to, $v_data);
}
@fclose($v_file_from);
@fclose($v_file_to);
}
// ----- File to open if the local copy
$v_filename = $this->_temp_tarname;
}
else {
// ----- File to open if the normal Tar file
}
$v_filename = $this->_tarname;
if ($this->_compress_type == 'gz') {
$this->_file = @gzopen($v_filename, "rb");
}
else if ($this->_compress_type == 'bz2') {
$this->_file = @bzopen($v_filename, "r");
}
else if ($this->_compress_type == 'none') {
$this->_file = @fopen($v_filename, "rb");
}
else {
$this->_error('Unknown or missing compression type ('
. $this->_compress_type . ')');
}
if ($this->_file == 0) {
$this->_error('Unable to open in read mode \'' . $v_filename . '\'');
return false;
}
return true;
}