ryxeo-glpi-git / htdocs / epack / lib / zip / PhpZipProxy.php @ 1c14bcc4
Historique | Voir | Annoter | Télécharger (2,77 ko)
1 | 1c14bcc4 | Eric Seigne | <?php
|
---|---|---|---|
2 | require_once 'ZipInterface.php'; |
||
3 | class PhpZipProxyException extends Exception |
||
4 | { } |
||
5 | /**
|
||
6 | * Proxy class for the PHP Zip Extension
|
||
7 | * You need PHP 5.2 at least
|
||
8 | * You need Zip Extension or PclZip library
|
||
9 | * Encoding : ISO-8859-1
|
||
10 | * Last commit by $Author: neveldo $
|
||
11 | * Date - $Date: 2009-05-29 10:05:11 +0200 (ven., 29 mai 2009) $
|
||
12 | * SVN Revision - $Rev: 28 $
|
||
13 | * Id : $Id: odf.php 28 2009-05-29 08:05:11Z neveldo $
|
||
14 | *
|
||
15 | * @copyright GPL License 2008 - Julien Pauli - Cyril PIERRE de GEYER - Anaska (http://www.anaska.com)
|
||
16 | * @license http://www.gnu.org/copyleft/gpl.html GPL License
|
||
17 | * @version 1.3
|
||
18 | */
|
||
19 | |||
20 | class PhpZipProxy implements ZipInterface |
||
21 | { |
||
22 | protected $zipArchive; |
||
23 | protected $filename; |
||
24 | /**
|
||
25 | * Constructeur de classe
|
||
26 | *
|
||
27 | * @throws PhpZipProxyException
|
||
28 | */
|
||
29 | public function __construct() |
||
30 | { |
||
31 | if (! class_exists('ZipArchive')) { |
||
32 | throw new PhpZipProxyException('Zip extension not loaded - check your php settings, PHP5.2 minimum with zip extension |
||
33 | is required for using PhpZipProxy'); ;
|
||
34 | } |
||
35 | $this->zipArchive = new ZipArchive(); |
||
36 | } |
||
37 | /**
|
||
38 | * Ouvrir une archive au format Zip
|
||
39 | *
|
||
40 | * @param string $filename le nom de l'archive à ouvrir
|
||
41 | * @return true si l'ouverture à réussi
|
||
42 | */
|
||
43 | public function open($filename) |
||
44 | { |
||
45 | $this->filename = $filename; |
||
46 | return $this->zipArchive->open($filename, ZIPARCHIVE::CREATE); |
||
47 | } |
||
48 | /**
|
||
49 | * Récupérer le contenu d'un fichier de l'archive à partir de son nom
|
||
50 | *
|
||
51 | * @param string $name le nom du fichier à extraire
|
||
52 | * @return le contenu du fichier dans une chaine de caractères
|
||
53 | */
|
||
54 | public function getFromName($name) |
||
55 | { |
||
56 | return $this->zipArchive->getFromName($name); |
||
57 | } |
||
58 | /**
|
||
59 | * Ajouter un fichier à l'archive à partir d'une chaine de caractères
|
||
60 | *
|
||
61 | * @param string $localname le chemin local du fichier dans l'archive
|
||
62 | * @param string $contents le contenu du fichier
|
||
63 | * @return true si le fichier a été ajouté avec succès
|
||
64 | */
|
||
65 | public function addFromString($localname, $contents) |
||
66 | { |
||
67 | if (file_exists($this->filename) && !is_writable($this->filename)) { |
||
68 | return false; |
||
69 | } |
||
70 | return $this->zipArchive->addFromString($localname, $contents); |
||
71 | } |
||
72 | /**
|
||
73 | * Ajouter un fichier à l'archive à partir d'un fichier
|
||
74 | *
|
||
75 | * @param string $filename le chemin vers le fichier à ajouter
|
||
76 | * @param string $localname le chemin local du fichier dans l'archive
|
||
77 | * @return true si le fichier a été ajouté avec succès
|
||
78 | */
|
||
79 | public function addFile($filename, $localname = null) |
||
80 | { |
||
81 | if (file_exists($this->filename) && !is_writable($this->filename)) { |
||
82 | return false; |
||
83 | } |
||
84 | return $this->zipArchive->addFile($filename, $localname); |
||
85 | } |
||
86 | /**
|
||
87 | * ferme l'archive Zip
|
||
88 | * @return true
|
||
89 | */
|
||
90 | public function close() |
||
91 | { |
||
92 | return $this->zipArchive->close(); |
||
93 | } |
||
94 | } |
||
95 | ?> |