Hjælp til array?
Jeg har lavet et galleri hvor man skal kunne uploade flere billeder af gangen, me uanset om man uploader 1 eller flere billeder bliver beskrivelsen når den sendes til databasen kaldt for "array".Lidt kode:
formularen:
<?php
$images = 1;
$descript = 1;
?>
<form enctype="multipart/form-data" action="do_add_pics.php" method="post">
<table>
<?
for($i = 1; $i <= $images; $i++)
{
echo '<tr><td>Billede '.$i.'</td><td><input type="file" name="pictures['.$i.']" /></td></tr>'."\r\n";
echo '<tr><td>beskrivelse '.$i.'</td><td><input type="text" name="descript['.$i.']" /></td></tr>'."\r\n";
echo '<tr><td> </td></tr>'."\r\n";
}
?>
<tr><td colspan="2" align="center"><input type="submit" name="upload" value="Upload File" /></td></tr>
</table>
</form>
resize og upload siden:
<?
session_start();
function resize( $filename, $newfilename, $maxw, $maxh )
{
$result = false;
$srcim = imagecreatefromjpeg( $filename );
$ow = imagesx( $srcim ); //Billedets originale width
$oh = imagesy( $srcim ); //Billedets originale height
$wscale = $maxw / $ow; //Skalering af width
$hscale = $maxh / $oh; // Skalering af height
$scale = ( $hscale < $wscale ? $hscale : $wscale ); // Skalerings forhold udregnes
$nw = round( $ow * $scale, 0 ); // Billedets nye width
$nh = round( $oh * $scale, 0 ); // Billedets nye height
$dstim = imagecreatetruecolor( $nw, $nh ); // Billedet oprettes med den nye mål
imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
$result = imagejpeg( $dstim, $newfilename, 85 );
imagedestroy( $dstim );
imagedestroy( $srcim );
return $result;
}
include('conn.php'); //Forbinder til database
$tabel = 'gallery'; //tabellen som billederne skal hentes fra
$img = 'img'; //Navn på mappen hvor filer skal gemmes.
$cwd = getcwd(); //Current Work Dir
//opretter fil
$img = $cwd . '/' . $img . '/';
//Hvor mange filer blev uploadet?
$count = 0;
if(isset($_POST['upload']))
{
foreach ($_FILES['pictures']['error'] as $key => $error)
{
$ext = strtolower(end(explode('.',$_FILES['pictures']['name'][$key])));
if ($error == UPLOAD_ERR_OK && ($ext == 'jpg' || $ext == 'jpeg'))
{
$tmp = $_FILES['pictures']['tmp_name'][$key];
$full = $_FILES['pictures']['name'][$key];
$descript = $_POST['descript'];
if(move_uploaded_file($tmp, $img . $full))
{
//Resize nummer 1
resize($img . $full, $img . '' . $full, 800, 800);
//Resize nummer 2
resize($img . $full, $img . 'small_' . $full, 200, 200);
$add_file = mysql_query("INSERT INTO $tabel VALUES('','$full','$descript','mark')") or die(mysql_error());
$count++;
} print "$_POST[description]";
}
}
echo 'Vi har uploadet ' . $count . ' billeder<br />';
}
?>
Nogle der kan se hvad poblemet er???