[Coder gesucht] upload- script

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Coder gesucht] upload- script

    Hallöchen ich suche jemanden der mir helfen könnte bei folgendem Problem....

    ich wollte ein script, dass nur *.zip hochladen lässt, zip entpackt und den inhalt in einen vorhandenen ordner verschiebt....
    gesagt ist es halt einfach....
    das script ist gerade soweit, dass es zip hochladen tut (alles andere auch),
    leider entpackt er nicht sondern wirft eine fehlermeldung aus...
    Fatal error: Cannot instantiate non-existent class: ziparchive in status2.php on line 6

    ich scripte mal hier was ich bis jetzt habe:

    meine upform.php
    PHP Code:
    <p>Dateiupload (nur *.zip Dateien)</p>
    <p>jede *.zip Datei höchstens 5 MB groß.</p>
    <form method="post" action="upload-zip.php<? echo '?dir='.$_GET['dir'].'&datei='.$_FILES["datei"]; ?>" enctype="multipart/form-data">
      Datei:
      <input type="file" name="datei" size="40">
      <input type="submit" name="Submit" value="Senden">

    </form>
    </body>
    </html>
    meine upload-zip.php
    PHP Code:
    <?
    $dir3 = $_GET['dir'];
    $file = $_GET['datei'];
    $dir2 = "../upload/";

    // Prüfen des Array $_FILES
    if (isset($_FILES["datei"])) {

    // Upload-Status
    if ($_FILES["datei"]["error"] == UPLOAD_ERR_OK) {

    // Muster zur Überprüfung der im Dateinamen
    // enthaltenen Zeichen (Optional)
    $regExp = "/^[a-z_]([a-z0-9_-]*\.?[a-z0-9_-])*\.[a-z]{3,4}$/i";

    // Dateiname und Dateigrösse
    if (preg_match($regExp,$_FILES["datei"]["name"]) && $_FILES["datei"]["size"] > 0 && $_FILES["datei"]["size"] < 25000000) {

    // Temporäre Datei in das Zielverzeichnis
    // des Servers verschieben.
    move_uploaded_file($_FILES["datei"]["tmp_name"],$dir2.$dir3."/".$_FILES["datei"]["name"]);

    // Redirect zur Erfolgs-Meldung
    $h111 = $_FILES['datei']['name'];
    ?>
    <form method="post" action="status2.php<? echo '?dir='.$_GET['dir'].'&datei='.$_FILES['datei']['name']; ?>">
    <?
    echo "Datei hochgeladen<br>";
    echo "jetzt musst du noch die Datei entpacken und das machst du <a href='status2.php?dir=$dir3&datei=$h111'>hier</a>";

    }
    else {
    echo "Fehler: Im Dateinamen oder Dateigrössen Limit!";
    }
    }
    else {
    echo "Fehler: Während der Übertragung aufgetreten!";
    }
    }
    else {
    echo "Fehler: Dateiupload fehlgeschlagen!";
    }
    ?>
    und die status2.php datei wo die *.zip entpacken soll....

    PHP Code:
    <?php
    $dir 
    $_GET['dir'];
    $file $_GET['datei'];
    $dir2 '../upload/';

    $zip = new ZipArchive;
    if (
    $zip->open($dir2.$dir."/".$file) === TRUE) {
        
    $zip->extractTo($dir2.$dir);
        
    $zip->close();
        echo 
    '<br>Datei wurde hochgeladen, extrahiert und sind jetzt zu sehen';
        
    unlink ($dir2.$dir."/".$file);
    } else {
        echo 
    '<br>Datei wurde nicht hochgeladen, weil es war keine *.zip datei';
    }
    ?>
    Weltbestepartybilder.de Community, Partybilder, uvm...

  • #2
    interessanter wäre dein os und php-version gewesen.

    http://php.net/manual/en/zip.installation.php

    Comment


    • #3
      Was Os ist weiß ich nicht
      aber mein webspace hoster hat PHP5


      EDIT:
      Problem erkannt^^
      Mein Webspacehoster verbietet *.zip entpacken
      Last edited by babyos; 23-08-2008, 18:02.
      Weltbestepartybilder.de Community, Partybilder, uvm...

      Comment

      Working...
      X