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.