Danke om,
Diese Nachricht die ich von om bekommen hatte, möchte ich es allen anderen die genau diese Fehler hatten zur verfühgung stellen.
Folgende Nachricht erhielt ich von om:
########### ab hier ############
Das mit dem action ist schon ok. Es soll ja auf dieselbe Seite verwiesen werden. Probier's mal hiermit: 
Input: 
Code: Alles auswählen
?> 
<table cellspacing="0" cellpadding="0" cellpadding="4"> 
    <!--<tr> 
        <td style="font-size:11px">Upload-Verzeichnis:</td> 
        <td> 
            <select name="CMS_VAR[0]"> 
            <option value="0"></option> 
            <?php 
                $sql = "SELECT DISTINCT dirname from ".$cfg["tab"]["upl"]; 
                $db->query($sql); 
                while ( $db->next_record() ) { 
$upload_dir=substr_replace($db->f("dirname"),'',(strlen($db->f("dirname"))-1)); 
                    if ( "CMS_VALUE[0]" == $upload_dir) { 
                        echo '<option selected="selected" value="'.$upload_dir.'">'.$db->f("dirname").'</option>'; 
                    } else { 
                        echo '<option value="'.$upload_dir.'">'.$db->f("dirname").'</option>'; 
                    } 
                } 
            ?> 
            </select> 
        </td> 
    </tr> --> 
    <tr> 
        <td style="font-size:11px">Datei-Typ(en):</td> 
        <td><input type="text" name="CMS_VAR[1]" value="CMS_VALUE[1]"></td> 
    </tr> 
    <tr> 
        <td style="font-size:11px" colspan ="2">Erlaubte Datei-Typ(en) mit einem | trennen. Bsp.: gif|jpg|pdf</td> 
    </tr> 
    <tr> 
        <td style="font-size:11px">maximale Größe:</td> 
        <td><input type="text" name="CMS_VAR[2]" value="CMS_VALUE[2]"> KB</td> 
    </tr> 
    <tr> 
        <td style="font-size:11px" colspan ="2">1000 KB entsprechen ca. 1 MB</td> 
    </tr> 
</table> 
<?php
Output: 
Code: Alles auswählen
<?php 
   cInclude('includes', 'functions.upl.php'); 
   // Absoluter Pfad zum Ordner in den die Datei hochgeladen werden soll. 
   //$pfad = "upload/CMS_VALUE[0]"; 
   // Ist eine maximale Größe der Datei festgelegt worden ? 
   if ("CMS_VALUE[2]" == "") { 
      $sizeabfrage = "no"; 
   } 
   else { 
      $sizeabfrage = "yes"; 
   } 
   // Maximale Größe der Datei (Falls $sizeabfrage = "yes" ist) 
   $filesize = "CMS_VALUE[2]"*1.024*1024; 
   // Wird die maximale Größe auch angezeigt ? 
   if ("CMS_VALUE[2]" == "") { 
      $sizeanzeige = "no"; 
   } 
   else { 
      $sizeanzeige = "yes"; 
   } 
   // Was für Dateitypen sollen erlaubt sein ? 
   $extend = "CMS_VALUE[1]"; 
   // Sollen die erlaubten Dateitypen angezeigt werden ? 
   $extendanzeige = "yes"; 
?> 
<?php 
   $fehler = FALSE; 
   $file_name = $_FILES['file']['name']; 
   $file_tmp_name = $_FILES['file']['tmp_name']; 
   $file_size = $_FILES['file']['size']; 
   if ($senden) { 
      $pfad = "upload/kategorien/".$_REQUEST['upldir']; 
      
      if ($file_name == "") { 
         $desc = $Beschreibung; 
         echo "<font color=#FF0000><b>Es wurde keine Datei ausgewählt!</b></font>"; 
         $fehler = TRUE; 
      } 
      if (!$fehler) 
      if ($_REQUEST['upldir'] == "0") { 
         $desc = $Beschreibung; 
         echo "<font color=#FF0000><b>Es wurde kein Verzeichnis ausgewählt!</b></font>"; 
         $fehler = TRUE; 
      } 
      if (!$fehler) 
      if (file_exists("$pfad/$file_name")) { 
         $desc = $Beschreibung; 
         echo "Datei: ".$file_name."<br>"; 
         echo "<font color=#FF0000><b>Dateiname schon vorhanden!</b></font>"; 
         $fehler = TRUE; 
      } 
      if (!$fehler) 
      if ($sizeabfrage == "yes") { 
         if ($file_size > $filesize) { 
            $desc = $Beschreibung; 
            echo "Datei: ".$file_name."<br>"; 
            echo "<font color=#FF0000><b>Die Datei ist zu groß!</b></font>"; 
            $fehler = TRUE; 
         } 
      } 
      if (!$fehler) 
      if (!eregi("($extend)$", $file_name)) { 
         $desc = $Beschreibung; 
         echo "Datei: ".$file_name."<br>"; 
         echo "<font color=#FF0000><b>Dieser Dateityp ist nicht erlaubt!</b></font>"; 
         $fehler = TRUE; 
      } 
      if (!$fehler) { 
//         if (copy($file, $pfad."/".$file_name)) { 
         if (move_uploaded_file($file_tmp_name, $pfad."/".basename($file_name))) { 
            chmod($pfad."/".basename($file_name), 0777); 
            uplSyncDirectory($pfad."/"); 
            $db = new DB_Contenido; 
            $sql = 'SELECT * FROM `'.$cfg["tab"]["upl"].'` WHERE `filename` = "'.$file_name.'"'; 
            $db->query($sql); 
            $db->next_record(); 
            $ID = $db->f('idupl'); 
            $sql = 'UPDATE `'.$cfg["tab"]["upl"].'` SET `description` = "'.$Beschreibung.'" WHERE `idupl` = "'.$ID.'"'; 
            $db->query($sql); 
            echo $cfg["tab"]["upl"]; 
            echo $ID; 
            echo $Beschreibung; 
            echo "Datei: ".$file_name."<br>"; 
            echo "Ordner: ".$pfad."<br>"; 
            echo "<font color=#00FF00><b>Datei hochgeladen</b></font><BR>"; 
            $fehler = FALSE; 
         } 
         else { 
            echo "Datei: ".$file_name."<br>"; 
            echo "<font color=#FF0000><b>Datei nicht hochgeladen</b></font>"; 
            $desc = $Beschreibung; 
            $fehler = TRUE; 
         } 
      } 
   } 
   if ($fehler || !$senden) { 
$folders = array(); 
$dir = "upload/kategorien"; 
$handle = @opendir($dir); 
while( $file = readdir($handle) ) { 
    if( is_dir("$dir/$file") ) { 
        if (($file!=".") && ($file!="..")) { 
          $folders[] = $file; 
        } 
    } 
} 
@closedir($handle); 
foreach ($folders as $f) { 
  $dir = "upload/kategorien/".$f; 
  $handle = @opendir($dir); 
  while( $file = readdir($handle) ) { 
      if( is_dir("$dir/$file") ) { 
          if (($file!=".") && ($file!="..")) { 
            $folders[] = $f."/".$file; 
          } 
      } 
  } 
  @closedir($handle); 
} 
sort($folders); 
//reset($folders); 
//print_r($folders); 
?> 
<form action="<?php $PHP_SELF; ?>" method="post" enctype="multipart/form-data"> 
<b>Bitte Upload-Verzeichnis auswählen:</b> 
<BR><BR> 
<select name="upldir"> 
<option value="0"></option> 
<?php 
/*$sql = "SELECT DISTINCT dirname from ".$cfg["tab"]["upl"]; 
$db->query($sql); 
while ( $db->next_record() ) { 
$upload_dir=substr_replace($db->f("dirname"),'',(strlen($db->f("dirname"))-1)); 
    if ( $_REQUEST['upldir'] == $upload_dir) { 
        echo '<option selected="selected" value="'.$upload_dir.'">'.$db->f("dirname").'</option>'; 
    } else { 
        echo '<option value="'.$upload_dir.'">'.$db->f("dirname").'</option>'; 
    } 
}*/ 
foreach ($folders as $f) { 
  if ( $_REQUEST['upldir'] == $f) { 
      echo '<option selected="selected" value="'.$f.'">'.$f.'</option>'; 
  } else { 
      echo '<option value="'.$f.'">'.$f.'</option>'; 
  } 
} 
?> 
</select> 
<BR><BR><BR> 
<b>Bitte Datei auswählen:</b> 
<BR> 
<?php 
   if ($sizeanzeige == "yes") { 
      echo ("Maximale Größe: ".($filesize/1024/1024)." MB"); 
   } 
?> 
<BR> 
<?php 
   if ($extendanzeige == "yes" && trim($extend) != "") { 
      echo ("Erlaubte Dateitypen: ".str_replace("|",", ",$extend)."<BR><BR>"); 
   } 
?> 
<input type="file" size="40" name="file"> 
<BR><BR> 
<b>Beschreibung</b> (optional):<br> 
<textarea name="Beschreibung" wrap="virtual" rows="5" cols="60" maxlength="10"><?php echo $desc; ?></textarea> 
<BR><BR> 
<input type="Submit" name="senden" value="Hochladen"><br> 
</form> 
<?php 
} 
?> 
#################### bis hier #################
Bitte Folgendes Beachten: Der Pfad "upload/kategorien/" muss an eurem Verzeichniss angepasst werden. Ich meine es tauchen insgesamt 3 x "upload/kategorien/" auf.
Nochmals besten Dank! an om. 
Ich hoffe du hast nichts dagegen om, wenn ich die Mail hier veröffentliche.