Hallo Leutz,
könnt ihr bitte mal mein Script überprüfen, ich steht da grad irgendwie aufm Schlauch, das macht nicht das was es soll...
Besonders die Fehlermeldungen, wie z.b. "Unzulässiges Dateiformat..." und andere werden falsch, bzw gar nicht angezeigt, hat jemand ne Idee?
mfg Schiwi
könnt ihr bitte mal mein Script überprüfen, ich steht da grad irgendwie aufm Schlauch, das macht nicht das was es soll...
Besonders die Fehlermeldungen, wie z.b. "Unzulässiges Dateiformat..." und andere werden falsch, bzw gar nicht angezeigt, hat jemand ne Idee?
mfg Schiwi
PHP:
<?
if($_REQUEST['Send'])
{
# Array mit den zulässigen Dateiendungen erzeugen
$zul_endungen = array('gif','png','jpg','exe','zip','jpeg','txt','log','rar','wmv','mpg');
$datei = $_FILES['Datei']['name'];
# Länge des Dateinamens ermitteln
$str_laenge = strlen($datei);
# Position des letzten Punktes ermitteln
$punkt = strrpos($datei, ".");
# Alles vor dem Punkt = Dateiname
$datei_name = substr($datei, 0, $punkt);
# Alles hinter dem Punkt = Dateiendung
$datei_endung = substr($datei, $punkt+1,
$str_laenge);
# Wenn sich die Dateiendung im Array mit den zugelassenen Endungen befindet Upload.
if(in_array(strtolower($datei_endung),$zul_endungen))
{
# Dateinamen prüfen: Nur Buchstaben, Punkt, Unter- und Bindestrich erlaubt:
if (ereg('^[a-zA-Z0-9._-]*$', $datei))
{
if($_FILES['Datei']['tmp_name'])
{
if (file_exists("upload/$datei"))
{
echo "Datei " . htmlspecialchars($datei) . " existiert schon!";
}
else
{
echo"Ihre Datei ("",
$_FILES['Datei']['name'],
"") ist ",
$_FILES['Datei']['size'],
" Bytes groß.<br>";
if (move_uploaded_file($_FILES['Datei']['tmp_name'], "upload/".$_FILES['Datei']['name']))
{
echo "Sie können die Datei unter <a href=\"http://schiwi.ath.cx/upload/upload/".$_FILES['Datei']['name']."\">http://domain/upload/".$_FILES['Datei']['name']."</a> downloaden";
}
else
{
if ($_FILES['Datei']['error'] == 1)
{
echo "Die hochgeladene Datei überschreitet die in der php.ini festgelegte Größe.";
}
elseif ($_FILES['Datei']['error'] == 2)
{
echo "Die hochgeladene Datei überschreitet die in dem HTML Formular angegebene maximale Dateigröße.";
}
elseif ($_FILES['Datei']['error'] == 3)
{
echo "Die Datei wurde nur teilweise hochgeladen.";
}
elseif ($_FILES['Datei']['error'] == 4)
{
echo "Es wurde keine Datei hochgeladen.";
}
else echo "Es ist ein Fehler Aufgetreten";
}
}
}
else echo "Bitte geben Sie eine Datei an!";
}
else echo "Fehler: Ungültiger Dateiname " . htmlspecialchars($datei);
}
else
{
echo "Unzulässiges Dateiformat, zulässig sind nur ";
foreach ($zul_endungen as $endung)
{
echo " $endung,";
}
}
}
else
{
?>
Hier kannst du mir Dateien zukommen lassen<br></p>
<form action="<? $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<input name="Datei" type="file"><br>
<input name="Send" type="submit" value="Upload">
</form>
<p><br></p>Sehen kannst du die Dateien <a href="upload/"><b>hier</b></a>
</body>
</html>
<?
}
?>