$37 GRAYBYTE WORDPRESS FILE MANAGER $36

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/alt/php55/usr/share/pear/data/Archive/design/

HOME
Current File : /opt/alt/php55/usr/share/pear/data/Archive/design//design.txt
eZ publish Enterprise Component: Archive, Design
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Introduction
============

Purpose of the Archive package
------------------------------

The archive package takes care of the different archive and compression
formats and handles them universally. Archive provides the basic
implementation to extract and create the whole or a part of the archive.

Some research will be done during the design phase whether the PHP stream
wrapper classes can be used to provide a common interface. 


Current implementation
----------------------

The current implementation implements only the Tar archive. The implemented 
algorithm doesn't support many (or if possible all) Tar archive-types.
Furthermore, a clean up of the design and code will be done to provide a
better interface.


Requirements
============

Design goals
------------

The Archive package should (at least) provide a low-level interface where
simply (a part of) the files can be extracted to a specific location or an
archive can be extended with new files. On top of this interface a part of a
virtual file system can be build. In another package?


Design
======

Introduction
------------

In the design we make a distinction between archivers and compression
libraries. If a format supports both, it is categorized as an archiver.

The compression libraries, if not available in PHP, will be implemented as a
stream. The stream functions from PHP have a different resource handler for
files and directories. Therefore they are hard to combine and makes it
impractical to use them in an archive (which is streamed). 


Supported file formats
----------------------

Archivers: 
Tar, is a pure archive format. 
Zip, is an archive plus compression algorithm. 

Compressions:
gzip, implemented as stream in PHP (zlib).
bzip2, implemented as stream in PHP (bzip2).


Since the most common compression formats are already available in PHP, we can
simple use the stream functions to access them. (And use them directly in the
archiver).



Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Mar 2024 10.54 PM
root / root
0755
class_diagram.png
670.994 KB
18 Dec 2019 11.18 AM
root / root
0644
design.txt
1.996 KB
18 Dec 2019 11.18 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF