|
|
Latest News |
Latest Threads |
|
|
54.771 Posts & 4.945 Themen in 78 Foren |
|
|
|
|
Forensuche |
|
Suchbegriff |
Benutzerauswahl |
Ergebnisse anzeigen |
|
|
PHP: Ordner in Zip packen 20 Beiträge in diesem Thema |
|
|
|
|
|
02.06.2016 - 10:18 Uhr |
|
|
|
Hey zusammen,
ich hab da mal wieder eine Frage. Derzeit bin ich beim Hoster 1&1. Mein Ordner auf dem Server, ist mittlerweile 13Gby groß. Diesen würde ich gerne manuell zur zip packen. Ich habe schon einige scripte versucht, aber irgendwie mache ich scheinbar was falsch.
Habt ihr vielleicht ein Script, mit dem es ganz einfach geht?
|
|
|
|
|
|
|
|
|
|
03.06.2016 - 18:01 Uhr |
|
|
|
Kann der Server denn mit Zip umgehen?
Ansonsten könntest ja mal folgendes probieren (schnelle Google-Suche):
http://andreknieriem.de/ordner-rekursiv-mit-php-zu-einer-zip-datei-packen/
Hier klicken zum aufklappen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | | PHP-Quelltext <?
// die maximale Ausführzeit erhöhen
ini_set("max_execution_time", 300);
// Objekt erstellen und schauen, ob der Server zippen kann
$zip = new ZipArchive();
if ($zip->open("backup.zip", ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive");
}
// Gehe durch die Ordner und füge alles dem Archiv hinzu
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("folder/"));
foreach ($iterator as $key=>$value) {
$zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key");
}
// speicher die Zip-Datei
$zip->close();
echo "Archive erfolgreich erstellt.";
?> | |
Dort ist am Ende nochmal ein Link zu einen verbesserten Version:
http://pastebin.com/1qmUyWYc
Einfach mal probieren
|
|
|
|
|
|
|
|
|
|
03.06.2016 - 19:17 Uhr |
|
|
|
Also sollte er können, meine Datenbank zipt er ja auch mit mysqldumper
Wo soll denn da der Ordnername rein? Der Ordner liegt direkt im root bereich (bsp. name für den ordner musik)
|
|
|
|
|
|
|
|
|
|
03.06.2016 - 21:39 Uhr |
|
|
|
Von welchen Code gehst du jetzt aus? Wenn vom 1., dann steht in Zeile 12 ja dies:
| PHP-Quelltext $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("folder/")); | |
Und dort steht ganz weit rechts ja dies: folder/
Soltest mit dem 2. Code arbeiten, dann an dieser Stelle, Zeile 17:
| PHP-Quelltext $folder = "zip/"; | |
Hier also das zip/ entsprechend ändern.
--
Könntest dies nicht direkt via FTP-Download machen und dann selber zippen?
|
|
|
|
|
|
|
|
|
|
03.06.2016 - 21:51 Uhr |
|
|
|
Ich werde es morgen mal testen. Danke dir.
Zippen will ich es schon lieber vorher, alleine aus Zeitgründen, bei mir kommen nur 6000 an.
|
|
|
|
|
|
|
|
|
|
09.06.2016 - 10:45 Uhr |
|
|
|
So, nun kam ich endlich dazu es mal zu testen. Script 1 geht bei mir gar nicht. Bei Script 2 fängt es zwar an und speichert auch 1Gby aber dann beendet er es. Ich denke mal es liegt an "max_execution_time", diese wird bei 1&1 auf maximal 60 gesetzt. Selbst wenn ich sie mit einer php.ini verändere, bleibt es wie zuvor.
Gibt es noch eine andere Möglichkeit?
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DHH - 09.06.2016 - 10:46 Uhr |
|
|
|
|
|
|
|
|
|
|
10.06.2016 - 16:26 Uhr |
|
|
|
Also ob du nun die php.ini direkt oder indirekt durch das Script abänderst - spielt keine Rolle.
http://stackoverflow.com/questions/11448565/phps-native-ziparchive-class-fails-when-zip-is-4gb-how-to-fix
Dort wird gesagt, daß das Zip-Format eh nicht größer als 4 GB (bzw. 3,6) und oder 65.535 Dateien darin Platz finden.
Siehe Antwort 2 von dort:
Zitat Ugo Méda:Zitat Wikipedia's quote:The original zip format had a 4 GiB limit on various things (uncompressed size of a file, compressed size of a file and total size of the archive), as well as a limit of 65535 entries in a zip archive. |
This is not a limitation of the class, but zip itself. You could switch to tar.gz for instance. |
Also entweder man splitet das ganze in mehrere Teile auf, setzt auf ein anderes Pack-System (wie oben erwähnt Tar) oder du machst es doch regulär via FTP ^^""
Ich selbst habe noch nie mit Zip (oder Tar) in PHP gearbeitet. Würde also entweder nach Code suchen gehen oder selber bisschen rumprobieren
|
|
|
|
|
|
|
|
|
|
10.06.2016 - 16:48 Uhr |
|
|
|
|
|
|
|
|
|
10.06.2016 - 18:06 Uhr |
|
|
|
Ich hab dir eine eMail geschickt? Ah, die ist bestimmt vom Forum mit neuen Beiträgen, oder? Dafür kann ich nichts - ist WEBI's Fehler ;o Vielleicht ändert er ja das ^^""
|
|
|
|
|
|
|
|
WEBI Unberechenbares Urgestein |
|
|
|
|
|
|
|
|
|
|
10.06.2016 - 23:05 Uhr |
|
|
|
Hallo DHH,
du hattest mich bereits vor einiger Zeit ( 18. Dezember 2014 - Huch, wie die Zeit verfliegt. *In-die-Ecke-stell-und-schäm'*) darüber in Kenntnis gesetzt, das ist wohl wahr, allerdings ging es nunmal einfach unter. Da hatte es kürzlichst sogar noch Der Seemann im Tippspiel-Thema erwähnt - doch bei 12 Stunden Schichten, an 5 Tagen die Woche, hat das einfach keine wahrliche Priorität - glücklicher Weise wurde es nun ein drittes mal erwähnt und wie man ja bekanntlich weiß, sind alle guten Dinge Drei. Demzufolge habe ich mal eben die komplette Benachrichtigung etwas aufgefrischt, den Standard-Text von der alten GbR direkt verbannt und natürlich auch das Ziel, den Link; aktualisiert. Auch wird man nun begrüßt, schöner wie ein plumpes: "Neuer Beitrag: XyZ". Benachrichtigungen selbst nie genutzt, ging das wohl damals direkt bei meiner Umstrukturierung vollkommen unter. Oops.
Ich hoffe die Hyperlinks führen dich nun dorthin, wo du auch landen möchtest und nicht wie fortan in's Nirvana.
Nun denn, ich wünsche ein ruhiges und entspanntes Wochenende - das Bettchen ruft - lautstark!
Grüße
k!r!ka,
was macht denn eigentlich der Weltfrieden?
|
|
|
|
|
|
|
|
|
|
10.06.2016 - 23:20 Uhr |
|
|
|
Ok, das es so lange her ist, hätte ich jetzt auch nicht erwartet ^^
Dieses mal bin ich direkt hierher geleitet worden.
Na dann dir eine gute Nacht 'D
|
|
|
|
|
|
|
|
WEBI Unberechenbares Urgestein |
|
|
|
|
|
|
|
|
|
|
10.06.2016 - 23:25 Uhr |
|
|
|
Tja, damit hatte ich aber nun auch nicht gerechnet, vielleicht mit Dezember 2015 - aber '14 ist schon 'ne ordentliche Hausnummer.
Was dein Problem anbelangt, wäre wohl Tar wirklich die bessere Alternative. Kein SSH Zugang? Würde die Sache ja nunmehr vereinfachen.
- FTP, via php: http://www.binarytides.com/how-to-create-tar-archives-in-php/ (Letzteres Beispiel, zwecks Ordner)
|
|
|
|
|
|
|
|
|
|
10.06.2016 - 23:28 Uhr |
|
|
|
Du meinst mit putty? Kann ich wohl benutzen, aber habe null Ahnung davon.
|
|
|
|
|
|
|
|
WEBI Unberechenbares Urgestein |
|
|
|
|
|
|
|
|
|
|
10.06.2016 - 23:35 Uhr |
|
|
|
Unter anderem, ja.
Wenn Zugang vorhanden - einloggen, anschließend in den Ordner wechseln, worin sich jener befindet, welcher gepackt werden soll.
1. Login (SSH-Zugang)
2. Ordnerwechsel (mittels: cd ORDNERNAME/ORDNERNAME2/)
3. Ordner (In diesem Beispiel #3) als tar-Archiv packen (mittels: tar -zcvf ARCHIVNAME.tar.gz ORDNERNAME3)
4. Fertig
Zum entpacken wiederum jenes nutzen: tar -zxvf ARCHIVNAME.tar.gz
|
|
|
|
|
|
|
|
|
|
11.06.2016 - 10:59 Uhr |
|
|
|
Also angemeldet habe ich mich mit Putty, nur kommt jetzt immer eine Fehlermeldung
Skaliert auf 550 x 59 Pixel
|
|
|
|
|
|
|
|
Ähnliche Themen |
|
|
|
|
|
|
|
|