ArchiveZip Klassenreferenz

Aufstellung aller Elemente

Öffentliche Methoden

 add_file ($data, $name)
 file ()

Öffentliche Attribute

 $datasec = array()
 $ctrl_dir = array()
 $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"
 $old_offset = 0


Ausführliche Beschreibung

This source is taken from http://www.zend.com/zend/spotlight/creating-zip-files1.php Thank you!

Definiert in Zeile 8 der Datei ArchiveZip.class.php.


Dokumentation der Elementfunktionen

ArchiveZip::add_file ( data,
name 
)

Definiert in Zeile 16 der Datei ArchiveZip.class.php.

00017      { 
00018           $name    = str_replace("\\", "/", $name); 
00019           $unc_len = strlen($data); 
00020           $crc     = crc32($data); 
00021           $zdata   = gzcompress($data); 
00022           $zdate   = substr ($zdata, 2, -4); 
00023           $c_len   = strlen($zdata); 
00024    
00025    
00026    
00027           $fr = "\x50\x4b\x03\x04"; 
00028           $fr .= "\x14\x00"; 
00029           $fr .= "\x00\x00"; 
00030           $fr .= "\x08\x00"; 
00031           $fr .= "\x00\x00\x00\x00"; 
00032           $fr .= pack("V",$crc); 
00033           $fr .= pack("V",$c_len); 
00034           $fr .= pack("V",$unc_len); 
00035           $fr .= pack("v", strlen($name) ); 
00036           $fr .= pack("v", 0 ); 
00037           $fr .= $name; 
00038           $fr .= $zdata; 
00039           $fr .= pack("V",$crc); 
00040           $fr .= pack("V",$c_len); 
00041           $fr .= pack("V",$unc_len); 
00042 
00043           $this -> datasec[] = $fr;
00044 
00045 
00046 
00047           $new_offset = strlen(implode("", $this->datasec)); 
00048            
00049           $cdrec = "\x50\x4b\x01\x02"; 
00050           $cdrec .="\x00\x00"; 
00051           $cdrec .="\x14\x00"; 
00052           $cdrec .="\x00\x00"; 
00053           $cdrec .="\x08\x00"; 
00054           $cdrec .="\x00\x00\x00\x00"; 
00055           $cdrec .= pack("V",$crc); 
00056           $cdrec .= pack("V",$c_len); 
00057           $cdrec .= pack("V",$unc_len); 
00058           $cdrec .= pack("v", strlen($name) ); 
00059           $cdrec .= pack("v", 0 ); 
00060           $cdrec .= pack("v", 0 ); 
00061           $cdrec .= pack("v", 0 ); 
00062           $cdrec .= pack("v", 0 ); 
00063           $cdrec .= pack("V", 32 ); 
00064           $cdrec .= pack("V", $this -> old_offset ); 
00065            
00066           $this -> old_offset = $new_offset; 
00067            
00068           $cdrec .= $name; 
00069           $this -> ctrl_dir[] = $cdrec; 
00070      }

ArchiveZip::file (  ) 

Definiert in Zeile 73 der Datei ArchiveZip.class.php.

00073                      { 
00074         $data = implode("", $this -> datasec); 
00075         $ctrldir = implode("", $this -> ctrl_dir); 
00076  
00077           return 
00078                $data. 
00079                $ctrldir. 
00080                $this -> eof_ctrl_dir. 
00081                pack("v", sizeof($this -> ctrl_dir)). 
00082                pack("v", sizeof($this -> ctrl_dir)). 
00083                pack("V", strlen($ctrldir)). 
00084                pack("V", strlen($data)). 
00085                "\x00\x00"; 
00086      } 


Dokumentation der Datenelemente

ArchiveZip::$ctrl_dir = array()

Definiert in Zeile 11 der Datei ArchiveZip.class.php.

ArchiveZip::$datasec = array()

Definiert in Zeile 10 der Datei ArchiveZip.class.php.

ArchiveZip::$eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"

Definiert in Zeile 12 der Datei ArchiveZip.class.php.

ArchiveZip::$old_offset = 0

Definiert in Zeile 13 der Datei ArchiveZip.class.php.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

Erzeugt am Thu May 14 00:55:49 2009 für OpenRat von  doxygen 1.5.8