Hallo ich versuche seid tagen einen Bildupload zu schreiben mit dem ich mehrere bilder gleichzeitig hochladen kann.
Nur es wird immer nur ein blid (ich glaube das letzte) hochgeladen.
könnt ihr mir helfen den fehler zu finden ?
schonmal vielen dank
Nur es wird immer nur ein blid (ich glaube das letzte) hochgeladen.
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
</head>
<body>
<form action="?section=upload&step=2" method="post" enctype="multipart/form-data" name="upload">
Wie viele auf einmal ?
<select name="menge">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select><br>
<p>
<input type="submit" name="submit" value="Weiter">
</p>
</form> <?
if($_GET["step"] == 2)
{
$step = $_POST["menge"];
?>
<form action="?section=up" method="post" enctype="multipart/form-data" name="upload">
<p>Dateipfad(e)<br>
<?
for($i = 1; $i <= $step;$i++)
{
?><input type='file' name='file[]'><?
echo "<br>";
}
?>
<br>
Kategorie
<select name="cat">
<?
$sql = "SELECT name FROM friends";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
?>
<option value="<? echo $row["name"]; ?>"><? echo $row["name"]; ?></option>
<? } ?>
<option value="pics">->Pics</option>
<option value="schatz">->Schatz</option>
<option value="me">->Me</option>
</select><br>
Pixel (hw) <input type="text" name="pixel"> <input type="text" name="i" value="<? echo $step; ?>"></p>
<p>
<input type="submit" name="submit" value="Upload">
</p>
</form>
*Maximal 2 mb
<?
}
?>
</body>
</html>
PHP:
<?php
// Datenbank
include '../config.php';
// Variabeln festlegen
$max_byte_size = 2097152;
$allowed_types = "(jpg|jpeg|gif|bmp|png|JPG|JPEG|GIF|BMP|PNG)";
// Formular wurde abgeschickt
if($_POST["submit"] == "Upload") {
$i = $_POST["i"];
// Wurde wirklich eine Datei hochgeladen?
for($count = 1;$count <= $i;$i--)
{
if(is_uploaded_file($_FILES["file"]["tmp_name"][$i])) {
// Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen)
if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"][$i])) {
// Datei auch nicht zu groß
if($_FILES["file"]["size"][$i] <= $max_byte_size) {
// Alles OK -> Datei kopieren
if(copy($_FILES["file"]["tmp_name"][$i], 'upload/'.$_FILES["file"]["name"][$i])) {
echo "Datei erfolgreich hochgeladen!<br>";
echo "Name: " . $_FILES["file"]["name"][$i] . "<br>";
echo "Größe: " . $_FILES["file"]["size"][$i] . " Byte<br>";
echo "MIME-Type: " . $_FILES["file"]["type"][$i] . "<br>";
echo "Link: <a href=\"upload/". $_FILES["file"]["name"][$i] . "\">" . $_FILES["file"]["name"][$i] . "</a>";
if($_POST["cat"] == "pics" || $_POST["cat"] == "schatz" || $_POST["cat"] == "me")
{
$sql = "INSERT INTO images (link, name, groesse, typ, cat)
VALUES(
'<a href=\"upload/".$_FILES['file']['name'][$i]."\"><img src=\"upload/thumbnail.php?src=".$_FILES['file']['name'][$i]."&w=".$_POST['pixel']."&h=".$_POST['pixel']."\" border=\"0\"></A>',
'".$_FILES['file']['name'][$i]."',
'".$_FILES['file']['size'][$i]." Byte',
'".$_FILES['file']['type'][$i]."',
'".$_POST['cat']."'
)";
mysql_query($sql) or die(mysql_error());
}
else
{
$sql = "UPDATE friends set pic = '<a href=\"upload/".$_FILES['file']['name'][$i]."\"><img src=\"upload/thumbnail.php?src=".$_FILES['file']['name'][$i]."&w=".$_POST['pixel']."&h=".$_POST['pixel']."\" border=\"0\"></A>' where name = '".$_POST['cat']."'";
mysql_query($sql) or die(mysql_error());
}
}
else {
echo "Datei konnte nicht hochgeladen werden.";
}
}
else {
echo "Die Datei darf nur eine Größe von " . $max_byte_size . " Byte besitzen.";
}
}
else {
echo "Die Datei besitzt keine ungültige Endung.";
}
}
else {
echo "Keine Datei zum Hochladen angegeben.";
}
}
}
else {
echo "Bitte benutzen Sie das Upload Formular.";
}
?>
könnt ihr mir helfen den fehler zu finden ?
schonmal vielen dank