PHP Unzip

Hallo Leute,

wollte heute eine .zip Datei auf meinem Webspace entpacken und da stieß ich auf folgendes PHP-Script [quote]<?php
// Konstante fürs Kommando definieren
if (!defined(‘UNZIP’)) {
define(“UNZIP”, “unzip -o @ARCHIV@ -d @ZIELVERZEICHNIS@” );
}
// Formular anzeigen oder entpacken
if (isset($_POST[‘stage’]) && (‘process’ == $_POST[‘stage’])) {
$result=process_uncompress();
// Entpacken war erfolgreich oder nicht
if($result===FALSE) {
echo(‘No Way, nicht mit diesem Hemd’);
}else{
echo(‘Alles klar, coole Sache Parker’);
}
} else {
process_form();
}

// Demoformular zur Abfrage der Parameter
function process_form() {
echo <<<END

Bitte Pfad und Namen der ZipDatei eingeben Bitte Pfad für das Entpacken eingeben END; }

// Funktion die das Entpacken übernimmt
function process_uncompress() {
$cmd=UNZIP;
// Das Kommando mit den Formulardaten versorgen
$cmd=str_replace(’@ARCHIV@’,$_POST[‘source’],$cmd);
$cmd=str_replace(’@ZIELVERZEICHNIS@’,$_POST[‘destination’],$cmd);
// Returncode True setzen
$rc=1;
$ArrayResult=array();
// Betriebssystemaufruf zum Entpacken des Archives
$StringResult=exec($cmd,$ArrayResult,$rc);
/* Wahr oder Falsch zurückgeben,
abhängig davon ob das entpacken erfolgreich war oder nicht. */

return ($rc==0);
}
?>[/quote]
Leider bekomme ich aber eine Fehlermeldung: [quote]Warning: exec() has been disabled for security reasons in /users/…/www/unzip.php on line 42[/quote]
Security Reasons? Erlaubt bplaced solche scripte nicht?

Gibt es eine andere Möglichkeit .zip oder .rar Datein auf dem Server zu entpacken?
Oder ist das wegen der CPU Auslastung sowieso nicht erwünscht?

Danke und viele Grüße

Hallo alien101,

Security Reasons? Erlaubt bplaced solche scripte nicht?
[/quote]
exec() ist Deaktiviert.

Lösung(en):
timlinden.com/blog/website-d … -with-php/
bjw.co.nz/developer/php/62-p … -using-php
(Durch Google gefunden)

Gruss fishi

[quote=“alien101”][]
Security Reasons? Erlaubt bplaced solche scripte nicht?
[][/quote]wenn das, was das Script macht erlaubt wäre, wäre der Webspace fürn Arsch weil jeder User jeden löschen könnte^^ Außerdem hätte man allgemein zu viel Zugriff aufn Server.

Hier nen “vernünftiges” Script:
scripte.bplaced.net/home/servers … -entpacken

PS: kp wo du deines her hast^^ Aber exec für sowas zu benötigen ist bullshit.

dit: scripte.mx.am in scripte.bplaced.net geändert

Ich erhalte für mx.am eine Warnung vor Phishing-Angriffen !!
(Norton Safe Web)

Norton ist zu dämlich zu unterscheiden was zu einem Domainraum gehört, und was nicht.
mx.am ist eine der Domains von createnic - und dort wird definitv nichts ausgespäht.

Norton hat mal diesen link

http: //paypal-europe-verifynet.mx.am/gateway/www.paypal.com/DE_de/ssl_enc=true/cmd=run_login&get.accid=67854235

auf eine subdomain gefunden, was bei Gott nicht gut aussieht und deshalb gleich die ganze mx.am als bösartig declariert. War (Ist?) vielleicht ein Kuckucksei…

Norton ist halt Schrott - Faktum.

Hi,

das ist der gleiche Link nur unter einer anderen Domain:

scripte.bplaced.net/home/servers … -entpacken

lg flo

Hi,
danke. Bei dieser Domain sagt der “Schrott”

Sicher

:smiley:

Hi

ist warscheinlich ganz einfach das des ding einfach die top level domain sperrt also *.mx.am wenn jemand z.b. auf 123ddgdhsd.mx.am „scheiße“ drauf hat … das gleiche gibts ja bei bplaced auch wenn irgendwer scheiße auf kjlkjhliuhb.bplaced.net hat dann sperren manche programme gleich allles was mit .bplaced.net endet…

sehr nervig eigentlihc (zum glück können die programme so weit mit denken das sie nicht irgendwann .de Endungen sperrn :ps: )

lg flo

Auf bplaced funktioniert übrigens auch das:
viewtopic.php?p=322314#p322314

Danke für die vielen Antworten!

Ich hätte da noch eine Frage:

Wie kann ich ein komplettes Verzeichniss komprimieren? Bzw. eine zip,gzip ta what ever erstellen und das gewünschte verzeichniss dort hinein bekommen?

Ich habe schon sehr sehr sehr viel gegoogelt, aber komischerweise hat noch nichts geklappt!
Hat jemand von euch da eine php Code, der auf bplaced servern geht?

Danke!

Grüße

$zip = new ZipArchive; $res = $zip->open($backup_dir.$backup_file.".zip", ZipArchive::CREATE); if ($res === TRUE) { $backup_files = directoryToArray($backup_dir, true); foreach($backup_files as $key => $value){ $zip->addFile($value, $value); # add to zip } }

:slight_smile: müsstest du nur bisschen abändern ^^