<?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/' );
?>
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| CREDITS | File | 229 B | 0644 |
|
| LICENSE | File | 1.53 KB | 0644 |
|
| example.php | File | 1.44 KB | 0644 |
|
| tutorial.txt | File | 4.96 KB | 0644 |
|
| tutorial_autoload.php | File | 495 B | 0644 |
|
| tutorial_directories.php | File | 390 B | 0644 |
|
| tutorial_extract.php | File | 532 B | 0644 |
|
| tutorial_iterator.php | File | 298 B | 0644 |
|
| tutorial_read_only.php | File | 383 B | 0644 |
|
| tutorial_recursive.php | File | 949 B | 0644 |
|
| tutorial_replacing.php | File | 390 B | 0644 |
|