Dateien prüfen und danach entpacken

raysher

New Member
Hallo,
ich möchte ein kleines Projekt verwirklichen.
Bei diesem sollte man auch tar/zip/rar/7zip etc. hochladen können, damit der Server diese dann entpackt und dann einem zur Schau stellt.

Bevor er diese aber entpacken soll, soll er diese prüfen, ob auch wirklich alle Dateien die in diesem Archiv enthalten sind, erlaubt sind.
Wenn nicht soll er diese gleich löschen oder markieren, dass diese nicht Regelkonform sind.

Wie kann ich das am besten machen?
Per PHP wirds auf kurz oder lang mühsam.
Wäre so etwas per bash möglich?

Natürlich weiß ich dass das massig Ressourcen fressen wird, deswegen will ich diese Aktionen auch begrenzen auf z.b. maximal 5-10 Entpackungen und nicht mehr.
Sobald dann eine fertig ist, kann der nächste ran usw.

Wisst ihr da was tolles?

Gruß
 
Vorab: aufpassen dass du nicht ein zip-of-death kriegst. 10TB an 0's lassen sich in unter 10KB zip/rar komprimieren ;)

Per PHP wirds auf kurz oder lang mühsam.
Ich nehm mal an dass die Dateien ueber PHP hochgeladen werden.
Allerdings sollte die Datei von einem Background-Task bearbeiten werden aus mehreren Gruenden
- Reload/Schliessen des Browserfenster beendet nicht den Prozess
- Einfaches AJAX-Polling des Fortschritts
- Einfache Limitierung auf bsp 2 Prozesse je CPU

Es spricht nichts dagegen aus Flexibilitaet auch diesen Background-Task auf PHP zu basieren, welcher dann mittels proc_open unrar (nonfree) einsetzt, damit die enthaltenden Dateien inkl. Dateigroesse anzeigt und dann dieselben extrahiert.
 
Und wie sieht es aus, wenn die Dateien noch ein Passwort haben?
Kann ich dieses dann auch abfragen per Formular und dann damit entpacken lassen?

Gruß
 
Natuerlich, unrar gibt eine entsprechende Meldung wenn die Datei oder einzelne Dateien verschluesselt sind. Basierend auf dieser Meldung sollte das Abfragen des entsprechenden Passworts (und Nachfrage wenn es falsch war) nicht schwer sein.
 
Back
Top