Naja wenns sonst keiner macht, mache ich es halt...
Das Skript holt Mozilo als Zip von Github und kopiert es neben sich auf den Webspace.
Dann kann man wählen, in welche Verzeichnisse NEBEN dem Skriptverzeichnis man Mozilo entpackt haben möchte.
Man kann das bereits geholte Mozilo-Archiv in mehrere Verzeichnisse entpacken.
Zwischen dem Holen und dem Entpacken sollte man keine weiteren Verzeichnisse auf derselben Ebene anlegen, da diese jeweils durchgezählt werden (um keine Dateipfade bzgl. Mißbrauch prüfen zu müssen) und Mozilo ansonsten in ein nicht gewünschtes Verzeichnis entpackt werden könnte.
Meines Wissens ist beim aktuellen Stand mindestens PHP 5.2 und die Unterstützung von Zip erforderlich, evtl. auch etwas darüber.
Bei meinem hervorragenden Provider www.netcup.de (http://www.netcup.de) ist es möglich, die entpackten Dateien hinterher per FTP wieder zu löschen. Das muß nicht zwingend auch bei anderen Providern der Fall sein!
Wenn jemand plötzlich dumm aus der Wäsche guckt, einfach mal nach webadmin.php googeln, das hilft tendenziell weiter. Ob man aber volle Verzeichnisse damit löschen kann, weiß ich momentan nicht mehr genau.
<?php /*/ Aufruf produktiv: [url]http://www.meinedomain.tld/.../_unzip/[/url] Wobei dieses Skript natürlich im Verzeichnis "_unzip" liegt. Direkt nach dem Aufruf wird Mozilo von Github geholt und in dieses Verzeichnis kopiert. Aufruf zum Testen: [url]http://www.meinedomain.tld/.../_unzip/?test[/url] Dazu muß ein Zip-Archiv namens master.zip im Verzeichnis "_unzip" existieren. /**/ if ($_POST['sel_done'] == '0123456789') { $tpath = false; $tdir = '../'; $dircont = scandir($tdir); $counter = 0; foreach ($dircont as $key => $value) { if (!in_array($value, array('.', '..'))) { if (is_dir($tdir . DIRECTORY_SEPARATOR . $value)) { $counter ++; if ($counter == $_POST['sel_dir']) { $tpath = realpath($tdir . $value); } } } } $file = 'file.zip'; if ($tpath !== false) { $zip = new ZipArchive; if ($zip->open($file) === TRUE) { $zip->extractTo($tpath); $zip->close(); $uz_msg = "Die Datei <b>$file</b> wurde erfolgreich nach <b>$tpath</b> entzippt."; } else { $uz_msg = "Die Datei <b>$file</b> konnte nicht gefunden/geöffnet werden."; } } else { $uz_msg = 'War wohl nix!'; } echo "<span style='font-family: arial; font-size: 10pt;'>$uz_msg</font>"; } else {?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Zielverzeichnis wählen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.button {
width: 12em;
height: 2em;
}
.pop {
background-color: #d7dfef;
font-family: Arial,Helvetica,sans-serif;
font-weight: bold;
font-style: italic;
font-size: 1.1em;
}
.pop select {
min-width: 150pt;
background-color: #e7e7ff;
}
.pop input[type="text"], .pop input[type="file"] {
background-color: white;
}
body {
margin: 0;
background-color: #e7e7ff;
}
form {
margin: 0;
}
</style>
</head>
<body>
<!-- Zentriertabelle --><table style="width: 100%; height: 100%;" class="pop" border="0"><tr><td style="text-align: center; vertical-align: middle;"><center>
Verzeichnisauswahl<br>
<form target="uz_res"
method="post"
action=""
name="form_seldir"
style="margin: 5;">
<select name="sel_dir"
size="5"
title="Verzeichnisauswahl">
<?php $tdir = '../'; $dircont = scandir($tdir); $counter = 0; foreach ($dircont as $key => $value) { if (!in_array($value, array('.', '..'))) { if (is_dir($tdir . DIRECTORY_SEPARATOR . $value)) { $counter ++; echo " <option value='$counter' title='$counter'>$value</option>\r\n"; } } }?>
</select><br>
<font size="-2"><br></font>
<input type="hidden"
name="sel_done"
value="0123456789" />
<input type="submit"
name="inp_sub"
id="id_inp_sub"
value="Mozilo entpacken"
class="button" />
</form>
<br>
<?php $mozilo_master = '[url]https://github.com/mozilo/mozilo2.0/archive/master.zip';[/url] if (isset($_GET['test'])) { $mozilo_master = 'master.zip'; $testrem = ' (TEST)'; } if (@copy($mozilo_master, 'file.zip')) { echo 'Mozilo-Master abgeholt!' . $testrem; } else { echo '<span style="color: red;">Fehler beim Abruf von Mozilo-Master</span>' . $testrem; }?>
<br>
<br>
<iframe name="uz_res" src="about:blank" marginheight="5" marginwidth="5" height="50" width="500" frameborder="1" scrolling="auto"></iframe>
<!-- /Zentriertabelle --></center></td></tr></table>
</body>
</html>
<?php }?>
Grüße und viel Spaß beim Säubern und Optimieren ;-)
mozzi
P.S.: Wenn jemand an der Nennung meines Providers was herumzumäkeln hat, immer her mit der Info. Ich lösche diesen Beitrag dann komplett wieder!
Zitat von: mozzi am 07. August 2015, 23:21:08
Bei meinem hervorragenden Provider [Teile des Zitats von Thorstn entfernt] ist es möglich, die entpackten Dateien hinterher per FTP wieder zu löschen. Das muß nicht zwingend auch bei anderen Providern der Fall sein!
Wow! Alle Achtung!Bei Deinem hervorragenden Provider kann man Dateien via FTP löschen?! Dass das bislang noch kein anderer Provider kann, ist ja ein Unding! >:(
Aber: muss man das echt händisch machen? Also per FTP löschen? Ist das nicht zu schwer? Gibt es da kein Skript für?
Zitat von: mozzi am 07. August 2015, 23:21:08
Wenn jemand an der Nennung meines Providers was herumzumäkeln hat, immer her mit der Info. Ich lösche diesen Beitrag dann komplett wieder!
Verstehe ich Dich richtig? Du willst Deinen kompletten (!) Beitrag löschen, wenn Du nicht Werbung machen darfst?