class PHPExcel_Shared_ZipArchive in Loft Data Grids 7.2
Same name and namespace in other branches
- 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php \PHPExcel_Shared_ZipArchive
PHPExcel_Shared_ZipArchive
@category PHPExcel @package PHPExcel_Shared_ZipArchive @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
Hierarchy
- class \PHPExcel_Shared_ZipArchive
Expanded class hierarchy of PHPExcel_Shared_ZipArchive
File
- vendor/
phpoffice/ phpexcel/ Classes/ PHPExcel/ Shared/ ZipArchive.php, line 41
View source
class PHPExcel_Shared_ZipArchive {
/** constants */
const OVERWRITE = 'OVERWRITE';
const CREATE = 'CREATE';
/**
* Temporary storage directory
*
* @var string
*/
private $_tempDir;
/**
* Zip Archive Stream Handle
*
* @var string
*/
private $_zip;
/**
* Open a new zip archive
*
* @param string $fileName Filename for the zip archive
* @return boolean
*/
public function open($fileName) {
$this->_tempDir = PHPExcel_Shared_File::sys_get_temp_dir();
$this->_zip = new PclZip($fileName);
return true;
}
/**
* Close this zip archive
*
*/
public function close() {
}
/**
* Add a new file to the zip archive from a string of raw data.
*
* @param string $localname Directory/Name of the file to add to the zip archive
* @param string $contents String of data to add to the zip archive
*/
public function addFromString($localname, $contents) {
$filenameParts = pathinfo($localname);
$handle = fopen($this->_tempDir . '/' . $filenameParts["basename"], "wb");
fwrite($handle, $contents);
fclose($handle);
$res = $this->_zip
->add($this->_tempDir . '/' . $filenameParts["basename"], PCLZIP_OPT_REMOVE_PATH, $this->_tempDir, PCLZIP_OPT_ADD_PATH, $filenameParts["dirname"]);
if ($res == 0) {
throw new PHPExcel_Writer_Exception("Error zipping files : " . $this->_zip
->errorInfo(true));
}
unlink($this->_tempDir . '/' . $filenameParts["basename"]);
}
/**
* Find if given fileName exist in archive (Emulate ZipArchive locateName())
*
* @param string $fileName Filename for the file in zip archive
* @return boolean
*/
public function locateName($fileName) {
$list = $this->_zip
->listContent();
$listCount = count($list);
$list_index = -1;
for ($i = 0; $i < $listCount; ++$i) {
if (strtolower($list[$i]["filename"]) == strtolower($fileName) || strtolower($list[$i]["stored_filename"]) == strtolower($fileName)) {
$list_index = $i;
break;
}
}
return $list_index > -1;
}
/**
* Extract file from archive by given fileName (Emulate ZipArchive getFromName())
*
* @param string $fileName Filename for the file in zip archive
* @return string $contents File string contents
*/
public function getFromName($fileName) {
$list = $this->_zip
->listContent();
$listCount = count($list);
$list_index = -1;
for ($i = 0; $i < $listCount; ++$i) {
if (strtolower($list[$i]["filename"]) == strtolower($fileName) || strtolower($list[$i]["stored_filename"]) == strtolower($fileName)) {
$list_index = $i;
break;
}
}
$extracted = "";
if ($list_index != -1) {
$extracted = $this->_zip
->extractByIndex($list_index, PCLZIP_OPT_EXTRACT_AS_STRING);
}
else {
$filename = substr($fileName, 1);
$list_index = -1;
for ($i = 0; $i < $listCount; ++$i) {
if (strtolower($list[$i]["filename"]) == strtolower($fileName) || strtolower($list[$i]["stored_filename"]) == strtolower($fileName)) {
$list_index = $i;
break;
}
}
$extracted = $this->_zip
->extractByIndex($list_index, PCLZIP_OPT_EXTRACT_AS_STRING);
}
if (is_array($extracted) && $extracted != 0) {
$contents = $extracted[0]["content"];
}
return $contents;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PHPExcel_Shared_ZipArchive:: |
private | property | * Temporary storage directory * * | |
PHPExcel_Shared_ZipArchive:: |
private | property | * Zip Archive Stream Handle * * | |
PHPExcel_Shared_ZipArchive:: |
public | function | * Add a new file to the zip archive from a string of raw data. * * | |
PHPExcel_Shared_ZipArchive:: |
public | function | * Close this zip archive * | |
PHPExcel_Shared_ZipArchive:: |
constant | |||
PHPExcel_Shared_ZipArchive:: |
public | function | Extract file from archive by given fileName (Emulate ZipArchive getFromName()) | |
PHPExcel_Shared_ZipArchive:: |
public | function | Find if given fileName exist in archive (Emulate ZipArchive locateName()) | |
PHPExcel_Shared_ZipArchive:: |
public | function | * Open a new zip archive * * | |
PHPExcel_Shared_ZipArchive:: |
constant | constants |