Also ich hab mich mal an ein Script gewagt, mit dem man mehrere Dateien gleichzeitig(das script machts nacheinander) Uploadet, hauptsächlich nur für Bilder.
Es erlaubt nur den Upload von JPG/JPEG,GIF undd PNGs, die nicht größer als 300KB sind. Vor dem uploaden wird man gefragt wie viele Bilder man uploaden will, man kann 1-10 Bilder gleichzeitig uploaden, wobei es noch so geschrieben ist das die zahl beliebig erhöht werden kann, wenn man das script ändert.
Wenn das script zum erstenmal ausgeführt wird, oder es den ordner 'upload' innerhalb des ordners wo sich das Script befindet nicht vorhanden ist, wird der Ordner 'upload' automatisch erstellt.
Einfach kopieren und auf euren Server austesten, wenn ihr die Lust habt, ich danke für kretik und hinweise
.
(hab das script von hinten bis vorn selbst entwickelt, ich hab nur im internet zu aufrischung einiger funktionen gesucht)
(Funktiontüchtigkeit bis jetzt nur mit FireFox garantiert, überarbeitungen laufen)
Es erlaubt nur den Upload von JPG/JPEG,GIF undd PNGs, die nicht größer als 300KB sind. Vor dem uploaden wird man gefragt wie viele Bilder man uploaden will, man kann 1-10 Bilder gleichzeitig uploaden, wobei es noch so geschrieben ist das die zahl beliebig erhöht werden kann, wenn man das script ändert.
Wenn das script zum erstenmal ausgeführt wird, oder es den ordner 'upload' innerhalb des ordners wo sich das Script befindet nicht vorhanden ist, wird der Ordner 'upload' automatisch erstellt.
Einfach kopieren und auf euren Server austesten, wenn ihr die Lust habt, ich danke für kretik und hinweise
(hab das script von hinten bis vorn selbst entwickelt, ich hab nur im internet zu aufrischung einiger funktionen gesucht)
PHP:
<?
//Erstellt ein Verzeichnis im Ordner wo das Script ist
if (@mkdir('upload'))
{
echo '<div style="font-size:11px;">Da das Script zum erstenmal ausgeführt wurde, wurde der Ordner /upload/ erstellt! Das geschieht nur wenn der ordner Upload nicht vorhanden ist.</div>';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Fotos-uploaden</title>
</head>
<body>
<?
//wird ausgeführt wenn Bilder hochgeladen werden
if(isset($_POST['senden']) && $_POST['senden'] == "Senden"){
$wie_viel=0;
//zählt übertragnungen
for($i=1;$i<=$_POST['anzahl'];$i++){
if(isset($_FILES['foto_'.$i]['tmp_name']) && $_FILES['foto_'.$i]['type'] != ""){$wie_viel++;}
}
$z=0;
//beginn der kopierschleifer der Bilder
for($i=1;$i<=$_POST['anzahl'];$i++){
//Kontrolle ob überhaupt was hochgeladen wird, kein leeren Feld wird hochgeladen
if(isset($_FILES['foto_'.$i]['tmp_name']) && $_FILES['foto_'.$i]['type'] != ""){
//aussortierung der Bilder die nicht dem Dateiangaben entsprechen
if($_FILES['foto_'.$i]['type'] != "image/jpg" && $_FILES['foto_'.$i]['type'] != "image/jpeg" && $_FILES['foto_'.$i]['type'] != "image/gif" && $_FILES['foto_'.$i]['type'] != "image/png"){ $z++;
//spaltung der infomation der Dateiangabe für Fehlermedlung
$type = explode("/",$_FILES['foto_'.$i]['type']);
//Fehlermeldung
echo "<div>".$z."/".$wie_viel." Die Datei <span style=\"color:red;\">".$_FILES['foto_'.$i]['name']."</span> muss ein Jpeg/Jpg, Gif oder PNG Format sein! Es ist eine \"".$type[1]."\"-Datei!</div>";
}else{
//kontrolle ob das Bild nich größer ist als 300KB
if($_FILES['foto_'.$i]['size'] > 300000){
//fehlermeldung
$z++;
echo "<div>".$z."/".$wie_viel." Die Dateigröße des Fotos <span style=\"color:red;\">".$_FILES['foto_'.$i]['name']."</span> ist zu groß! Es dürfen nur Bilder mit der maximalen Dateigröße von 300KB hochgeladen werden!(Datei größe ihres Bildes:".round(($_FILES['foto_'.$i]['size']/1000),1)."KB)</div>";
}else{
$kontrolle= true;
$open = opendir("./upload/");
// Kontrolle ob das Bild schon vorhanden ist
while($file = readdir($open)){if($_FILES['foto_'.$i]['name'] == $file){$kontrolle=false;}}
//wenn bild schon vorhanden dann ist kontrolle false geetzt, und Fehlermeldung wird ausgegeben
if($kontrolle == false){$z++;echo "<div>".$z."/".$wie_viel." Das Foto <span style=\"color:red;\">".$_FILES['foto_'.$i]['name']."</span> ist schon Vorhanden, keine Übertragung!</div>";}
else{
//übertragung in den upload Ordner, wenn fehler beim übertragen, keine übertragung stattdessen Fehlermeldung
if(!move_uploaded_file($_FILES['foto_'.$i]['tmp_name'], "./upload/".$_FILES['foto_'.$i]['name'])){
$z++;
echo "<div style=\"color:red;\">".$z."/".$wie_viel." Fehler beim Hochladen der Datei: ".$_FILES['foto_'.$i]['name']."!</div>";
}else{ $z++; echo "<div>".$z."/".$wie_viel." ".$_FILES['foto_'.$i]['name']." <span style=\"color:green;text-decoration:underline; font-style:italic;\">Übertragen!</span></div>";}
}
}
}
}
}
}else{
//Wird beim laden der seite ausgeführt, wenn seite zum 1.mal geladen wurde
if(!isset($_POST['zahl']) || $_POST['zahl'] <=0 || !isset($_POST['Bauen']))
{echo 'Wie viele Bilder möchtest du Hochladen?<form name="inputs" action="'.$_SERVER['PHP_SELF'].'" method="POST"><input size="2px" maxlength="2" type="text" name="zahl" value=""><input type="submit" name="Bauen" value="Los!" /></form><div style="font-size:11px;color:red;">(Es werden der übersichthalber nur Maximal 10 Bilder hochgeladen werden!<br>Es werden nur Bilder mit den Dateiformat JPEG/JPG/PNG/GIF und kleiner als 300KB groß sind hochgeladen!)</div>';die();}
?>
<!-- File-Form für den Upload -->
<form enctype="multipart/form-data" action="<? $_SERVER['PHP_SELF']; ?>" method="post">
<?
//anzahl der angegebenen Inputfelder wird in variable $inputs übergeben
$inputs = $_POST['zahl'];
//ist $inouts größer als 10, wird diese auf 10 gesetzt und es wird eine alertfenster ausgegeben, von javvascript
if($inputs > 10){$inputs = 10; echo '<script type="text/javascript">alert("Es können nur maximal 10 Bilder gleichzeitig hochgeladen werden! Die Anzahl wird auf 10 beschränkt!");</script>';}
//bau der Inputfelder
for($i = 1; $i <= $inputs; $i++){
echo "Bild ".$i.": <input type='file' name='foto_".$i."'><br>";
}
?>
<input type='hidden' name='anzahl' value='<? echo $i; ?>'><input type='submit' name='senden' value='Senden'>
</form>
<? } ?>
</body>
</html>
(Funktiontüchtigkeit bis jetzt nur mit FireFox garantiert, überarbeitungen laufen)
Anhänge
Zuletzt bearbeitet: