kostenloser Webspace werbefrei: lima-city


Download-Script

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    k***************3

    Hey Leute,
    ich habe mir (nach langen Nächten) dieses Uploadscript mit PHP zusammengebastelt.
    <?php
    
    // Prüfen ob eine Datei geschickt wurde, falls nicht wurde das Formular noch nicht gesendet
    if (!isset($_FILES[\'meine_datei\'])) {
    
    ?>
    <form action=\"upload.php\" method=\"post\" enctype=\"multipart/form-data\">
    <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"1048576\" />
    Datei: <input type=\"file\" name=\"meine_datei\" />
    <input type=\"submit\" value=\"Hochladen\" />
    </form>
    
    <?php
    
    } else {
      // Quelldatei im tmp-Ordner
      $source_file = $_FILES[\'meine_datei\'][\'tmp_name\'];
    
      // Zieldatei im dateien-Ordner
      $target_file = \'schoolworx/\' . $_FILES[\'meine_datei\'][\'name\'];
    
      // Prüfen ob der Upload erfolgreich war
      if ($_FILES[\'meine_datei\'][\'error\'] == UPLOAD_ERR_OK) {
        // Maximal erlaubte Dateigröße (in Bytes)
        $max_size = 10485760;
    
        // Erlaubte Dateierweiterungen
        $extensions = array(\'txt\', \'jpg\', \'png\', \'zip\', \'rar\', \'doc\', \'xls\');
    
        // Erweiterung der Datei ermitteln
        $file_extension = substr(strrchr($_FILES[\'meine_datei\'][\'name\'], \'.\'), 1);
    
        // Dateigröße prüfen
        if (filesize($_FILES[\'meine_datei\'][\'tmp_name\']) > $max_size) {
          echo \'Die Dateigröße überschreitet das Maximum von \' . $max_size . \'Bytes!\';
    
        // Dateierweiterung prüfen
        } elseif (!in_array($file_extension, $extensions)) {
          echo \'Die Datei muss vom Typ \"\' . implode(\', \', $extensions) . \'\" sein!\';
    
        // Versuchen die Datei aus dem Quell- ins Zielverzeichnis zu verschieben
        } elseif (move_uploaded_file($source_file, $target_file)) {
          // Erfolgsmeldung ausgeben
          echo \'Datei erfolgreich hochgeladen!\';
        } else {
          // Fehlermeldung ausgeben
          echo \'Beim Verschieben der Datei trat ein Fehler auf!\';
        }
      } else {
        // Fehler ermitteln
        $error = \'\';
    
        switch ($_FILES[\'meine_datei\'][\'error\']) {
          case UPLOAD_ERR_INI_SIZE:
            $error = \'Die hochgeladenen Datei überschreitet das in der php.ini gesetzte Maximum!\';
            break;
          case UPLOAD_ERR_FORM_SIZE:
            $error = \'Die hochgeladenen Datei überschreitet die in MAX_FILE_SIZE gesetzte Größe!\';
            break;
          case UPLOAD_ERR_PARTIAL:
            $error = \'Die hochgeladene Datei wurde nur teilweise übertragen!\';
            break;
          case UPLOAD_ERR_NO_FILE:
            $error = \'Es wurde keine Datei hochgeladen!\';
        }
    
        // Fehlermeldung ausgeben
        echo \'Fehler beim Hochladen: <b>\' . $error . \'</b>\';
      }
    
      // Zurück-Link anbieten um eine weitere Datei hochzuladen
      echo \'<br /><br /><a href=\"upload.php\">Zurück</a>\';
    }
    
    ?>

    Ich möchte jetzt auch ein Downloadscript erstellen, dass alle Dateien die im besagten Uploadverzeichnis auflistet und zum Download anbietet. Ich steh grad nur irgendwie völlig auf dem Schlauch wie ich das realisieren könnte.
    Könnt ihr mir da vielleicht ein wenig weiter helfen?
    Vielen Dank im Voraus
    Erik

    edit by tct
    php-code formatiert

    Beitrag geändert: 16.4.2008 22:28:44 von tct
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. klar, das Auslesen eines Verzeichnisses erfolgt über einen Verzeichnis Handler. Den erstellst du über die Funktion opendir().
    Hab mal den Code aus der php Doc an deine Situation angepasst:

    <?php
    $dir = \'./schoolworx/\';
    
    // Öffnen eines bekannten Verzeichnisses und danach seinen Inhalt einlesen
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
                if (is_file($file)) {
                    echo \'<a href=\"\'.$file.\'\">\'.$file.\'</a><br />\';
                }
            }
            closedir($dh);
        }
    }
    ?>




    Beitrag geändert: 16.4.2008 21:52:24 von prismapanda
  4. Autor dieses Themas

    k***************3

    Vielen Dank,
    das hat mir schonmal viel weitergeholfen, allerdings ist das ja nur eine Auflistung. Ich möchte aber, dass hinter jeder der aufgelisteten Dateien ein Download-Button namens download.jpg ist wo man die Datei dann downloaden kann.
    Erik
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!