Hallo,
ich wollte ein Script schreiben welches einfach nur eine Zip- bzw. eine tar.gz Datei Uploadet und gleichzeitig auch entpackt.
Das Uploaden habe ich gelöst, die Datei liegt auf dem Server
Habe dazu noch das Problem das er mir den Type von der Zip datei nicht anzeigen will, ergo kann ich ihn auch nicht auf richtigkeit überprüfen, oder hab ich einfach nur einen Fehler gemacht?
Jedenfalls zum entpacken, habs mit einer reihe von befehlen aus der Zlib versucht wie gzuncompress, gzopen, gzwrite usw. aber alles wollte nicht so recht. Vielleicht hab ich auch die Falschen befehle Kombiniert.
Jedenfalls wollte ich mal fragen ob jemand sowas schon mal gemacht hat und mir etwas dabei Helfen kann.
mfg XeN
ich wollte ein Script schreiben welches einfach nur eine Zip- bzw. eine tar.gz Datei Uploadet und gleichzeitig auch entpackt.
Das Uploaden habe ich gelöst, die Datei liegt auf dem Server
PHP:
<?PHP
if(!isset($_POST['sent'])) {
?>
<form enctype="multipart/form-data" action="<?PHP echo $PHP_SELF ?>" method="post">
<table border="1" align="center">
<tr>
<td align="center">Bitte File zum Hochladen auswählen</td>
</tr>
<tr>
<td><input type="file" name="file"></td>
</tr>
<tr>
<td align="center"><input type="submit" value="hochladen"></td>
</tr>
<tr>
<td><input type="hidden" name="sent" value="1"></td>
</tr>
</table>
</form>
<?PHP
}elseif($_POST['sent'] == "1") {
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
/*
//.:D E B U G:.
echo "Typ: $type<br>";
echo "Name: $name<br>";
echo "Tempname: $tempname<br>";
echo "Groesse: $size";
*/
if($type != "application/x-gzip") {
$err[] = "FEHLER: Es dürfen nur Dateien vom Tüp application/x-gzip mit der endung tar.gz Hochgeladen werden!";
}elseif($size > 50000000) {
$err[] = "FEHLER: Es dürfen nur Dateien mit einer Maximalgrösse von 50 Megabyte hochgeladen werden!";
}
if(empty($err)) {
copy("$tempname","entpacken/$name");
echo "Die datei $name wurde erfolgreich hochgeladen und entpackt";
}else{
foreach($err as $error) {
echo "$error<br>";
}
}
}
?>
Habe dazu noch das Problem das er mir den Type von der Zip datei nicht anzeigen will, ergo kann ich ihn auch nicht auf richtigkeit überprüfen, oder hab ich einfach nur einen Fehler gemacht?
Jedenfalls zum entpacken, habs mit einer reihe von befehlen aus der Zlib versucht wie gzuncompress, gzopen, gzwrite usw. aber alles wollte nicht so recht. Vielleicht hab ich auch die Falschen befehle Kombiniert.
Jedenfalls wollte ich mal fragen ob jemand sowas schon mal gemacht hat und mir etwas dabei Helfen kann.
mfg XeN