Sodele... und noch ein Problem von mir.
Ich habe ein Upload-Script für meine Seite geschrieben,
wo der User das Verzeichnis auswählen kann,
in das die Datei hochgeladen werden soll.
Auf den ersten Blick scheint alles wunderbar zu funktionieren,
falls etwas nicht stimmt, werden Fehlermeldungen ausgegeben,
wenn alles funktioniert, kommt die Meldung: "Das Bild wurde erfolgreich hochgeladen",
nur blöderweise ist das nicht der Fall, das Verzeichnis ist immer noch leer.
Habe ich das Zielverzeichnis falsch angegeben ($verzeichnis wird korrekt übergeben),
liegt es daran, dass es über Xampp auf http://localhost läuft,
oder habe ich einfach irgendwo einen Teil des Codes vergessen?
(letzteres könnte ich mir irgendwie am ehesten vorstellen ^^")
Naja, hier auf jeden Fall mal das komplette Script,
ich hoffe, jemand findet meinen Fehler.
Ich habe ein Upload-Script für meine Seite geschrieben,
wo der User das Verzeichnis auswählen kann,
in das die Datei hochgeladen werden soll.
Auf den ersten Blick scheint alles wunderbar zu funktionieren,
falls etwas nicht stimmt, werden Fehlermeldungen ausgegeben,
wenn alles funktioniert, kommt die Meldung: "Das Bild wurde erfolgreich hochgeladen",
nur blöderweise ist das nicht der Fall, das Verzeichnis ist immer noch leer.
Habe ich das Zielverzeichnis falsch angegeben ($verzeichnis wird korrekt übergeben),
liegt es daran, dass es über Xampp auf http://localhost läuft,
oder habe ich einfach irgendwo einen Teil des Codes vergessen?
(letzteres könnte ich mir irgendwie am ehesten vorstellen ^^")
Naja, hier auf jeden Fall mal das komplette Script,
ich hoffe, jemand findet meinen Fehler.
PHP-Code:
<?php
if (isset($_POST['action']) && $_POST['action'] != "")
{
$verzeichnis = $_POST["verzeichnis"];
$arr_erlaube_dateityp = array(gif,jpg,jpeg,png);
$dateiname = $_FILES['datei']['name'] ;
// Dateiendung ermitteln
$punkt = strrpos($dateiname, '.');
$laenge = strlen($dateiname);
$endung = strtolower(substr($dateiname, -($laenge - $punkt - 1)));
$orginal = strtolower(substr($dateiname, 0, -($laenge - $punkt)));
// Fehlerbehandlung
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
$fehlermeldung = "";
$fehler_gefunden = "";
// Name Check
$errormeldung = "Es wurde keine Datei ausgewählt\n";
if (empty($dateiname))
{
$fehlermeldung = $fehlermeldung.$errormeldung ;
$fehler_gefunden = 1 ;
}
$errormeldung = "Der gewählte Dateityp ist nicht erlaubt\n";
if (!in_array($endung, $arr_erlaube_dateityp) && !empty($dateiname))
{
$fehlermeldung = $fehlermeldung.$errormeldung ;
$fehler_gefunden = 1 ;
}
$errormeldung = "Die gewählte Datei ist zu groß. Max. 50 KB Dateigröße sind gestattet.\n";
if ($_FILES['datei']['size'] > (50 * 1024))
{
$fehlermeldung = $fehlermeldung.$errormeldung ;
$fehler_gefunden = 1 ;
}
// Wenn Fehler - dann Aufruf der Fehlerausgabe, sonst speichern
if ($fehler_gefunden == "1")
{
echo $fehlermeldung;
}
else
{
move_uploaded_file($_FILES['userfile']['tmp_name'], "http://localhost/images/" . $verzeichnis . "/" . $_FILES['datei']['name']);
echo "<p>Das Bild wurde erfolgreich hochgeladen";
}
}
else
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="action" value="1">
<table cellpadding="3">
<tr>
<td>Verzeichnis:</td>
<td>
<select name="verzeichnis" size="1">
<option value="content">Hauptseite</option>
<option value="mitglieder">Mitglieds-Foto</option>
<option value="links">Link</option>
<option value="download">Download</option>
<option value="artikel">Zeitungsartikel</option>
</select>
</td></tr>
<tr>
<td>Datei:</td>
<td><input size="30" type="file" name="datei"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="upload" value="Upload!" /></td>
</tr>
</table>
</form>
<?php
}
?>
Kommentar