D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
alt
/
php54
/
usr
/
share
/
doc
/
pear
/
Archive
/
docs
/
Filename :
tutorial_recursive.php
back
Copy
<?php require_once 'tutorial_autoload.php'; date_default_timezone_set( "UTC" ); class ArchiveContext extends ezcBaseFileFindContext { public $archive; public $prefix; } function findRecursiveCallback( ezcBaseFileFindContext $context, $sourceDir, $fileName, $fileInfo ) { $path = "{$sourceDir}/{$fileName}"; if ( is_dir( $path ) ) { $path .= '/'; } $context->archive->append( array( $path ), $context->prefix ); } function appendRecursive( $archive, $sourceDir, $prefix ) { $context = new ArchiveContext(); $context->archive = $archive; $context->prefix = $prefix; ezcBaseFile::walkRecursive( $sourceDir, array(), array(), 'findRecursiveCallback', $context ); } $archive = ezcArchive::open( "my_archive.zip", ezcArchive::ZIP ); $archive->truncate(); // the 2nd parameter is the directory, the 3rd parameter is the prefix appendRecursive( $archive, '/tmp/directory/', '/tmp/directory/' ); ?>