<?php
ini_set ('error_reporting', E_ALL);
$pfad = '/html/upload/'; // Hier den Ordner relativ zum Uploadscrip, in die die Dateien hochgeladen werden angeben.
$dateiupload_erfolgreich = false;
function CheckFilename($dateiname,$pfad)
{
global $fehler; $fehler = array();
if (file_exists($pfad.$dateiname)) array_push($fehler, 'Es existiert bereits eine Datei mit dem Namen!'); //Prüfung ob der Dateiname der hochzuladenden Datei schon existiert. Wenn Dateien mit gleichen namen überschreiben werden sollen diese Zeile bitte löschen.
if(!in_array(strtolower(substr($dateiname,-4)),array('.jpg','jpeg','.png','.gif'))) array_push($fehler, 'Bitte nur Bilder mit der Endung .jpg, .jpeg, .png oder .gif hochladen!'); // In das array erlaubte Dateiformate eintragen und gegebenenfals die Fehlermeldung anpassen. Bitte diese Zeile aus Sicherheitsgründen auf gar keinen Fall löschen!
if(substr_count($dateiname, '.')>1) array_push($fehler, 'Es ist nicht erlaubt eine Datei mit mehrere Punkten im Dateinamen hochzuladen!');
return (sizeof($fehler)) ? false : $dateiname;
}
function CheckFile($dateiname_temp,$dateifehler,$dateigroesse)
{
global $fehler; $fehler = array();
switch ($dateifehler) {
case '1': $dateifehler_erklaerung ='Die hochgeladene Datei überschreitet die in der Anweisung upload_max_filesize in php.ini festgelegte Größe.'; break;
case '2': $dateifehler_erklaerung = 'Die hochgeladene Datei überschreitet die in dem HTML Formular mittels der Anweisung MAX_FILE_SIZE angegebene maximale Dateigröße.'; break;
case '3': $dateifehler_erklaerung = 'Die Datei wurde nur teilweise hochgeladen.'; break;
case '4': $dateifehler_erklaerung = 'Es wurde keine Datei hochgeladen.'; break;
}
if($dateifehler) array_push($fehler, $dateifehler_erklaerung);
if ($dateigroesse < 1) array_push($fehler, 'Sie haben versucht keine oder eine lehre Datei hochzuladen.');
if ($dateigroesse > 2000000) array_push($fehler, 'Die hochzuladende Datei darf max. 2MB groß sein.'); // Hier die max. größe der Hochzuladenden Dtaie angeben und gegebenenfals die Fehlermeldung anpassen. Wenn die Dateigröße nicht weiter begrenzt werden soll diese Zeile bitte löschen.
return (sizeof($fehler)) ? false : $dateiname_temp;
}
if(!empty($_POST['Send']))
{
if ($dateiname_temp = CheckFile($_FILES['Datei']['tmp_name'],$_FILES['Datei']['error'],$_FILES['Datei']['size']))
{
if ($dateiname = CheckFilename($_FILES['Datei']['name'],$pfad))
{
move_uploaded_file($dateiname_temp, $pfad.$dateiname);
if (filesize($pfad.$dateiname)<1) die ('Sie haben versucht eine leerer Datei hochzuladen!');
$dateiupload_erfolgreich = true;
}
else $fehlermeldungen_ausgeben = true;
}
else $fehlermeldungen_ausgeben = true;
}
?>
<html>
<head>
<title>Datei-Upload</title>
</head>
<body>
<?php
if ($dateiupload_erfolgreich)
{
?>Ihre Datei ("<?php echo $dateiname; ?>") wurde hochgeladen. Sie können nun weitere Dateien hochladen.<?php
}
elseif (!empty($fehler))
{
?>
<br>Es sind folgende Fehler aufgetreten:<br>
<?php
foreach ($fehler as $fehlermeldung) {
echo $fehlermeldung.'<br>';
}
?>Beseitigen sie wenn möglich den Fehler und versuchen sie es erneut.<?php
}
?>