source: pmb4.2/trunk/fuentes/pmb/classes/zip.class.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 1.4 KB
Line 
1<?PHP
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: zip.class.php,v 1.2 2013-04-23 13:58:50 mbertin Exp $
6 
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9class zip {
10        var $zipPath;
11        var $entries=array();
12        var $zip; //archive
13       
14        function zip($zipPath){
15                $this->zipPath = $zipPath;
16        }
17       
18        function readZip() {
19                /* Ouverture de l'archive et lecture des entrées */
20                $this->zip = zip_open($this->zipPath);
21                if (is_resource($this->zip)) {
22                        while ($zip_entry = zip_read($this->zip)) {
23                                if(substr(zip_entry_name($zip_entry),strlen(zip_entry_name($zip_entry))-1) != "/"){
24                                        if(strrpos(zip_entry_name($zip_entry),"/")!=0) $start = strrpos(zip_entry_name($zip_entry),"/")+1;
25                                        else $start = 0;
26                                        $fileName = substr(zip_entry_name($zip_entry),$start);
27                                        $t['fileName'] = $fileName;
28                                        $t['zipEntry']= $zip_entry; 
29                                        $t['zipEntryName'] = zip_entry_name($zip_entry);               
30                                        $this->entries[$t['zipEntry']]=$t;
31                                }
32                        }
33                }
34        }
35       
36        function getFileContent($fileName){
37                if(!$this->zip) $this->readZip();
38                $content = "";
39                foreach($this->entries as $file){
40                        if($file['fileName'] == $fileName)
41                                 $content = zip_entry_read($file['zipEntry'],zip_entry_filesize($file['zipEntry']));
42                }
43                return $content;
44        }
45}
46?>
Note: See TracBrowser for help on using the repository browser.