#1 2012-09-30 10:34:51

peeeeta
Člen
Registrován: 2010-08-29
Příspěvky: 365
Web

Re: Zip

Dobrý den,
prosím vás jak mohu docílit s tímto kódem, aby se mi do zip souboru zahrnuly všechny adresáře z určených složek?

<?PHP
// create object
$zip = new ZipArchive();

// open archive 
if ($zip->open('my-archive.zip', ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive");
}

// list of files to add
// list of files to add
$fileList = array(
'templates/.',
'uploads',
'index.php'
);

// add files
foreach ($fileList as $f) {
$zip->addFile($f) or die ("ERROR: Could not add file: $f"); 
}

// close and save archive
$zip->close();
echo "Archiv byl vytvořen."; 
?> 

Vím, že je zde kód na zazipování celého webu, ale já potřebuji zazipovat jen několik složek a ne celý web.
Děkuji moc za radu

Offline

#2 2012-09-30 11:04:51

JF
Endora rádce
Místo: ....nice u Plzně
Registrován: 2010-06-22
Příspěvky: 11,876

Re: Zip

V tom prípade si vezmi súbor čo zabalí celú zložku a uprav si ho tak aby ti zabalil len tebou požadované zložky.


Ján Fačkovec - Endora.cz by Webglobe
Email, Web, Webadmin, Webmail, Nápověda, Ceník

Offline

#3 2012-09-30 11:09:18

peeeeta
Člen
Registrován: 2010-08-29
Příspěvky: 365
Web

Re: Zip

A kde takový soubor najdu?
Já jsem nevěděl, že tu něco takového je.
--------------------------------
Pokud jste myslel tento kód

<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>ZIPovač</title><meta name="robots" content="noindex,nofollow" /><style>body { padding:2em; max-width:50em; font-family:"Trebuchet MS", "Geneva CE", lucida, sans-serif;}table {border-collapse:collapse;font-size:82%;}td, th {padding:5px;border:1px solid #ddd;}th {padding-right:10px;background-color:#eee;text-align:left; font-weight:bold;}thead th {background-color:#ddd;}a {color:inherit;}small {font-size:100%; color:#ccc; font-weight:normal;}table a {color:#000; text-decoration:underline; font-weight:bold;}table a:visited {font-weight:normal;}.messages {max-height:10em; overflow-y:auto;}.message.ok {color:green;}.message.error {color:red;}</style></head><body><h2><small>[<a href='./zip.php'>obnoviť</a>]</small></h2>
<?php

  $action = $_POST[action]; $directory = $_POST[directory]; $zipfile = $_POST[zipfile];

   echo '<table><thead><tr><th> <th>Priečinok<th>Názov archívu<th> <tbody>';
   echo "<tr><th><form action='./zip.php' method='post'>"
       . " <td><input type='text' name='directory' value='.'>*"
       . " <td><input type='text' name='zipfile' value='".date("Y-m-d-H-i-s").".zip'>"
       . " <td><input type='hidden' name='action' value='start'><input type='submit' value='Zbaliť'></form>";
   echo '</table>';

if ($action == "start") {

$filenames = array();

function browse($dir) {
global $filenames;
    if ($handle = opendir($dir)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && is_file($dir.'/'.$file)) {
                $filenames[] = $dir.'/'.$file;
            }
            else if ($file != "." && $file != ".." && is_dir($dir.'/'.$file)) {
                browse($dir.'/'.$file);
            }
        }
        closedir($handle);
    }
    return $filenames;
}

browse($directory);

$zip = new ZipArchive();

if ($zip->open($zipfile, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("cannot open <$zipfile>\n");
}

?><h2>Výsledky <small>(zbaľovania)</small></h2><?php
echo '<ol class="messages">';
foreach ($filenames as $filename) {
      echo "<li class='message ok'>Súbor <em><b>$filename</b></em> pridaný.";
    $zip->addFile($filename,$filename);
}
echo '</ol>';

if (($zip->status == 0)&($zip->numFiles != 0)) echo "<p class='message ok'>Celkovo pridaných <em><b>" . $zip->numFiles . "</b></em> súborov v archíve <em><b>" . $zipfile . "</b></em>.</p>";
else echo "<p class='message error'>Súbory sa nepodarilo zbaliť!</p>";
$zip->close();

}

?></body></html>

Tak ten nevím jak upravit třeba pro 5 adresářů
Bohužel hmm

Offline

Zápatí

Založeno na FluxBB | CZ a SK