Re: zip archiv

From: Kamil <sverak (zavinac)>
Date: 30. 03. 2005, 09:40 CEST
> ok mas pravdu.....napisal som to dost blbo.....

No né že by ses nějak polepšil ;-)

> na lokale to testujem pod WIN XP, hosting je na LINUX, pouzivam funkcie co
> su v phpmyadmin
> a su to: pack, crc32, gzcompress
> ked si pozries co mas v adresari phpmyadmin\libraries\zip.lib.php tam je
> funkcia function
> addFile($data, $name, $time = 0)
> a ja som doplnil aby to pridavalo aj adresare...takze teoreticky to malo
> frcat aj na webe....
> ale nejde! :-(
> a v tom 22 bytovom subore je hlavicka zip suboru....

> mozem poslat aj zdrojak...

Ach jo.. a co odpovědi na pepého otázky? No nic. Napsal jsem
funkční script. PHP musí mít právo zápisu do souboru
"mujzip.zip". Mělo by to vypsat podadresáře adresáře test a
vše zazipovat do mujzip.zip. Soubor zib.lib.php musí být ve
stejném adresáři jak tento script..

<?
function vloz_soubor($cesta, $filename) {
    global $zip;
    $f=fopen($cesta.$filename,"r");
    $add_to_zip = fread ($f, filesize($cesta.$filename));
    fclose($f);
    $zip->addFile($add_to_zip, "$cesta$filename");
} //---------- konec vloz_soubor() --------------

function vypis_adresar($cesta) {
    echo $cesta."<br />\n";
    $handle=opendir($cesta);
    while (false!==($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            if (is_dir($cesta.$file)) {
                $soub[]=$cesta.$file."/";
            } else {
                vloz_soubor($cesta, $file);
            }
        }
    }
    closedir($handle);
    if (isset($soub)) {
        sort($soub);
        for ($i=0;$i<count($soub);$i++) {
            $cesta=$soub[$i];
            vypis_adresar($cesta);
        }
    }
} //---------- konec vypis_adresar() ---------------

include_once "./zip.lib.php";

$zip = new zipfile();

$cesta="./test/";

vypis_adresar($cesta);  

$f=fopen("./mujzip.zip", "wb");
fputs($f, $zip->file());
fclose($f);
echo "hotovo";
?>

-- 
cao,
 Kamil 
Received on Wed, 30 Mar 2005 09:40:27 +0200

This archive was generated by hypermail 2.1.8 : 30. 03. 2005, 09:40 CEST