Tjenare,
sitter med en kod jag hittat här på forumet. Men jag blir inte klok.
Om jag tex. väljer att ladda upp 3 bilder och klickar OK så laddas bara en av dem upp. Inte de andra två.
Kan någon hjälpa mig med den här koden?
<?php
// Mappen där bilderna ska sparas, måste avslutas med /
$mapp = "bild1/";
// Ladda upp bilderna
if (isset($_POST['filuppladdning']))
{
if (is_dir("$mapp"))
{
// Loopa igenom alla poster i formuläret
$keys = array_keys($_POST);
$i = 0;
while($i < count($keys))
{
if (strlen($_POST[$keys[$i]])>0)
{
// Validera formen
if(!empty($_FILES['file']['name']))
{
// Kopiera värden
$file = $_FILES['file'];
// Kolla filtyp
$filandelse = explode('.',$file['name']);
$sort = count($filandelse) - 1;
$so = $filandelse[$sort];
// Tillåtna filtyper
if (($so != 'gif') AND ($so != 'jpg') AND ($so != 'jpeg') AND ($so != 'png'))
{
// Vid fel filtyp
die("<center>Fel filtyp, måste vara jpg, jpeg, gif eller png!<br>\nDu försökte ladda upp en $filandelse[$sort] fil.");
}
// Skicka filen
if(is_uploaded_file($_FILES['file']['tmp_name']))
{
// Om det är rätt!
move_uploaded_file($file['tmp_name'],$mapp . $file['name']);
echo "<center><b>Klart! Bilderna är uppladdade.</b></center>\n<p>\n";
echo "<table width=\"400\" border=\"0\" align=\"center\" cellspacing=\"0\" cellpadding=\"10\" bgcolor=\"#666699\">\n";
echo "<tr>\n";
echo "<td>Filnamn:</td>\n";
echo "<td>".$file['name']."</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>Bytes:</td>\n";
echo "<td>".$file['size']."</td>\n";
echo "</tr>\n";
echo "</table><p>\n";
}
else
{
// Om det är fel!
echo "<center>Något gick fel!</center><p>\n<pre>\n";
print_r($file);
echo "</pre>\n";
}
}
}
$i++;
}
}
}
if (isset($_GET['ladda_upp']))
{
?>
<form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data">
<input name="filuppladdning" type="hidden">
<input name="antal" type="hidden" value="<?=$_GET['antal']?>">
<table width="400" border="0" align="center" cellpadding="10" cellspacing="0" bgcolor="#666699">
<tr>
<td colspan="2">
<p>Tillåtna filtyper är; jpg, jpeg, gif och png!
</td>
</tr>
<?php
for ($antal=1; $antal<=$_GET['antal']; $antal++)
{
?>
<tr>
<td>
<input type="file" name="file" value="fil<?=$antal?>">
</td>
</tr>
<?php
}
?>
<tr>
<td>
<input name="submit" type="submit" value="Ladda upp">
</td>
</tr>
</table>
</form>
<?php
}
?>
<form action="<?=$PHP_SELF?>" method="get">
<input name="ladda_upp" type="hidden">
<table width="400" border="0" align="center" cellpadding="10" cellspacing="0" bgcolor="#666699">
<tr>
<td colspan="2">
Hur många bilder vill du ladda upp?
</td>
</tr>
<tr>
<td width="120">
<input name="antal" type="text" id="antal" size="2" maxlength="2" />
</td>
<td width="280">
<input name="submit" type="submit" value="Fortsätt">
</td>
</tr>
</table>
</form>
När jag provar att ladda upp bilder så laddas som sagt bara en bild upp. Sedan skriver den ut följande felmeddelande, på bilden som laddats upp.
Array
(
[name] => catch_me_if_you_can.jpg
[type] => image/jpeg
[tmp_name] => /home/kunder/tmp/xXxxXX
[error] => 0
[size] => 4757
)