• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zip Backup

Status
Für weitere Antworten geschlossen.

Web_spider

Neues Mitglied
Ich nehme bei meinem Programm ne Löschung eines Ordners durch und mache vorher ein Backup des Ordners in eine Zip Dateil. Allerding geht das nit -.-

Teil in dem das Backup aufgerufen wird:

PHP:
    $bak = new Backup;
    $res = $bak->open("../backup/$dirname.zip", ZipArchive::CREATE);

    if($res === true)
    {
        $bak->addDir($path, "");
        $bak->close();
    }
    
    exit;
$path und $dirname sind korrekt hab ich schon überprüft.


Teil in Backup definiert ist:

PHP:
class Backup extends ZipArchive
{    
    public function addDir($path, $savepath)
    {
        $dirfiles = scandir($path);
        
        foreach($dirfiles as $file)
        {
            if($file != ".")
            {
                if($file != "..")
                {
                    
                    if(dir_exists($path."/".$file))
                    {    
                        $temp_savepath = substr($savepath, 1);
                        
                        $temp_saveurl  = $temp_savepath."/".$file;
                        
                        if($temp_savepath == "")
                        {
                            $temp_saveurl = substr($file, 1);
                        }
                        
                        $this->addEmptyDir("$temp_saveurl/");
                        $this->addDir("$path/$file", "$savepath/$file");
                    }
                    else
                    {
                        $temp_savepath = substr($savepath, 1);
                    
                        $temp_saveurl  = $temp_savepath."/".$file;
                        $temp_saveurl  = $temp_savepath."/".$file;
                        
                        if($temp_savepath == "")
                        {
                            $temp_saveurl = substr($file, 1);
                        }
                        
                        
                        $this->addFile("$path/$file", $temp_saveurl);
                    }
                }
            }
        }
    }
}
Sieht umständlich aus, liegt daran, dass ich so viel rumprobiert hab.

Es sollen halt alle Dateien aus einem Ordner ausgelesen werden und equivalent in einem .zip gespeichert werden.

Es gibt keine Fehlermeldung. Eine Überprüfung der Rückgabewerte der Zip Funktionen ergab auch immer true.



Hoffe auf Hilfe,

LG

Richie


EDIT:// Falls es schon ne Funktion von ZipArchive gibt um ganze Ordner hinzuzufügen, dreh ich zwar durch, bin aber dann auch froh, dass ich endlich bescheid weiß :D
 
Zuletzt bearbeitet:
Werbung:
if($file != ".")
{
if(
$file != "..")
{

geht ja mal garnicht, kannste mal deine zip klasse posten, wäre ggf ganz hilfreich.
am besten als .phps und link.

edit;
wo erhoffst oder siehst du die möglichkeit eines false ?
 
Werbung:
muss nich die dll oder so datei in der php.ini aktiviert werden also ; entfernen? ^^
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben