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

Ftp Daten zippen

jumbo125

Mitglied
Sehr geehrte Community

euer Tipp wäre wiedermal goldes wert.

Auf meinen FTP-SERVER(welcher nicht mir gehört) liegn über 1000 Daten. Die Homepage wird mit Joomla betrieben. Nun möchte ich übersiedeln und backups anlegen.

Das problem:keine exension funktioniert so richtig. Der download und upload von meinen joomla dauer wig. Kann ich mittels php ein script erstellen, welches die ordner in eine zip daei abspeichert(neben den existierenden)?

so würde ich nur 1 datei up- and downloaden
 
hier wird keine Datei erstellt.

ich würde gerne einen Unterordner mit mehreren Unterordnern zippen.

Leider funktioniert es nicht, es wird keine zip Datei erstellt.

PHP:
<?php$pfad = "aufbau/";
$zip = new ZipArchive; 
$zipfile = 'test.zip'; 
$res = $zip->open($zipfile, ZipArchive::CREATE);     
if ($res === TRUE) {        
  
  if (file_exists($pfad)){            
    $pfad = opendir($pfad);                 
      while(false !== ($file = readdir($pfad))) {                          
      $zip->addFile($file, $file);                
      }                
    echo "ok";            
    $zip->close();             
    closedir($pfad);        
    }        
  else{        
  echo "failed";        
  }    
}   ?>
 
"Ich hab' mal zwanzig Zeilen kopiert, aber Script funktioniert nicht, korrigiert mal"
Grandiose Eigeninitiative! :(

Richtig debuggen

1.Man bemerkt, dass ein Skript nicht das tut, was es soll.
2.Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
3.Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
4.Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
5.An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
6.Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
7.Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
8.Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
9.Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
 
Mein Post mit dem Link sollte auch mehr oder weniger nur als Denkanstoss fungieren, um sich mal die ZipArchive-Klasse etwas anzusehen. Das ist nämlich das, was Du suchst.
 
Mein Post mit dem Link sollte auch mehr oder weniger nur als Denkanstoss fungieren, um sich mal die ZipArchive-Klasse etwas anzusehen. Das ist nämlich das, was Du suchst.
Das war er auch!!!!

ich hab nicht einfach die zeilen kopiert. Im gegenteil, lass ich die ordner auslesen, führeeine while-schleife durch,tätige if abfragen usw...(natürlich kein Aufwand, aber nicht 1:1 kopiert)

Das Beispiel war genau das, was ich gesucht habe. werde nun noch das von bdt600 durchführen.

danke jedenfalls mal.
 
Hallo,

mal ne duslige frage, hast schon mal in die Admin Panel geschaut vom Hosting wie der Filemanager ist?
Ich kann da bei mir ganze Ordner zipen.

Cheffchen
 
ich habe bereits versucht das problem einzugrenzen, nämlich bei addfile eine Datei einzugeben, anstatt eine Variable.

Handelt es sich dabei um einen Ordner, funktioniert es nicht. Handelt es sich um eine Datei funktioniert es. Fazit: Ordner dürfen nicht angegeben werden. Ergibt auch Sinn.

auch die beiden Zeilen:
error_reporting(E_ALL);
ini_set('display_errors', true);
sind Ausgabelos. Es erfolgt lediglich die echo ausgabe(ok). siehe oben...

Nun zu meinen vorherigen Post,
ich möchte einen Ordner zippen, welcher Unterordner enthält(diese natürlich auch)!
Es sollen in der Zip Datei nicht nur die Daten, sondern auch die Ordner enthalten sein. Die Struktur sollte beibehalten werden.

Ich brauche nun auch keinen Code oder sonst etwas. Einfach nur eine Idee wie man das realisieren kann.

Wie könnte man die Ordner in das Zip file einfügen, anstatt nur daten
 
Alles umsonst.....
Da es sich um mehrere 100mb handelt, habe ich das set_time_limit hinaufgesetzt. Mein hoster blockiert alles über 15sekunden.
 
Vlt. musst Du nur deine Strategie ändern:
Du musst das Script selbst schreiben. Und zwar so, dass die ZIP-Datei Stück für Stück und nicht auf einen Schlag erzeugt wird. Dadurch sparst Du Speicher und wirst auch kein Timeout erreichen.

Tipp: ZIP-Dateien kann man auch um Dateien ergänzen.
 
Zurück
Oben