Jeg har denne billedeupload med resize og thumb, lige nu vil den kun gemme alt data hvis der er uploadet alle 4 fotos, jeg skal have den til at gøre sådan at jeg har mulighederne hvad enten jeg vil:
-uploade alle 4 billeder samt tekst
-upload ingen fotos, kun tekst
-uploade f.eks. kun 1 foto og tekst.
-uploade f.eks. kun 2 foto og tekst.
osv.
Min billedeupload function:
<?php
function newImage($file, $dir, $image, $thumb)
{
$fejl = null;
$newfile = $_FILES[$file]['name'];
$illegalChars = array('æ','Æ','ø','Ø','å', 'Å');
$legalChars = array('ae','AE','oe','OE','aa','AA');
$newfile = str_replace($illegalChars, $legalChars, $newfile);
$imgTypes = array('jpg', 'gif', 'jpeg', 'png');
#get flleeextension
$ext = strtolower(array_pop(explode(".", $newfile)));
#get filesize
$size = round($_FILES[$file]['size']/1024, 1);
if(in_array($ext, $imgTypes))
{
if($size < 10000)
{
if(!is_file($dir.'/'.$newfile))
{
if(move_uploaded_file($_FILES[$file]['tmp_name'], $dir.'/'.$newfile))
{
#create thumb version
if(imageResize($dir.'/'.$newfile, $thumb.'/'.$newfile, 224, 149))
{
//echo 'En thumbnail er lavet<br /><br />';//thumb er lavet
} else {
unlink($dir.'/'.$newfile);
return false;
//fejl meddelelse
}
#create bigger thumb version and owerwrite the original image
imageResize($dir.'/'.$newfile, $image.'/'.$newfile, 600, 400);
return $newfile;
} else {
//return 'Filen kunne ikke uploades';
return false;
}
}else{
//return 'Filen eksisterer allerede';
return false;
}
}else{
//return 'Filen fylder for meget (maximum 10 MB)';
return false;
}
}else{
//return 'Fejl! Tilladte filtyper: JPG, GIF og PNG';
return false;
}
}
function imageResize( $filename, $newfilename, $maxw, $maxh, $quality=70 )
{
$ext = strtolower(array_pop(explode(".", $filename)));
switch($ext)
{
case 'jpeg':
case 'jpe':
case 'jpg':
$srcim = imagecreatefromjpeg( $filename );
break;
case 'gif':
$srcim = imagecreatefromgif( $filename );
break;
case 'png':
$srcim = imagecreatefrompng( $filename );
break;
default:
return false;
}
$ow = imagesx( $srcim );
$oh = imagesy( $srcim );
if($oh > $maxh || $ow > $maxw)
{
$wscale = $maxw / $ow;
$hscale = ($maxh / $oh);
//$scale = min( $hscale, $wscale ); //hvis billedet skal scaleres efter enten højde eller bredde
//$scale = $hscale; //hvis billedet kun skal scaleres efter højde
$scale = $wscale; //hvis billedet kun skal scaleres efter bredde
$nw = round( $ow * $scale, 0 );
$nh = round( $oh * $scale, 0 );
}else{
$nh = $oh;
$nw = $ow;
}
$dstim = imagecreatetruecolor( $nw, $nh );
imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
switch($ext)
{
case 'jpeg':
case 'jpe':
case 'jpg':
imagejpeg( $dstim, $newfilename, $quality );
break;
case 'gif':
imagegif( $dstim );
break;
case 'png':
imagesavealpha($dstim, true);
$trans_colour = imagecolorallocatealpha($dstim, 0, 0, 0, 127);
imagefill($dstim, 0, 0, $trans_colour);
$png_q = floor( abs( $quality / 10 - 9.9 ) );
imagepng( $dstim, $newfilename, $png_q );
break;
default:
return false;
}
imagedestroy( $dstim );
imagedestroy( $srcim );
return true;
}
?>
Min insert into:
<?php
if (isset($_POST['submit_bil']))
{
$filnavn = newImage("upload", "../pic/biler/original", "../pic/biler/image", "../pic/biler/thumb");
$filnavn2 = newImage("upload2", "../pic/biler/original", "../pic/biler/image", "../pic/biler/thumb");
$filnavn3 = newImage("upload3", "../pic/biler/original", "../pic/biler/image", "../pic/biler/thumb");
$filnavn4 = newImage("upload4", "../pic/biler/original", "../pic/biler/image", "../pic/biler/thumb");
if ($filnavn && $filnavn2 && $filnavn3 && $filnavn4)
{
$overskrift=$_POST["overskrift"];
$maerke=$_POST["maerke"];
$aargang=$_POST["aargang"];
$model=$_POST["model"];
$farve=$_POST["farve"];
$km=$_POST["km"];
$pris=$_POST["pris"];
mysql_query("INSERT INTO biler (overskrift, maerke, aargang, model, farve, km, pris, image, image2, image3, image4)
VALUES
('".$overskrift."','".$maerke."','".$aargang."','".$model."','".$farve."','".$km."','".$pris."','".$filnavn."','".$filnavn2."','".$filnavn3."','".$filnavn4."')")
or die(mysql_error());
echo 'Billedet blev gemt <br />';
}
else
{
echo 'fejl';
}
}
?>
<form method="post" enctype="multipart/form-data" action="" onSubmit="return ValidateForm(this)" >
<table width="400" height="205" border="0" cellpadding="" cellspacing="1">
<tr>
<td>Overskrift</td>
<td><input name="overskrift" type="text" id="overskrift" /></td>
</tr>
<tr>
<td>Forsidebillede</td>
<td><input type="file" name="upload" /></td>
</tr>
<tr>
<td>Billede 2</td>
<td><input type="file" name="upload2" /></td>
</tr>
<tr>
<td>Billede 3</td>
<td><input type="file" name="upload3" /></td>
</tr>
<tr>
<td>Billede 4</td>
<td><input type="file" name="upload4" /></td>
</tr>
<tr>
<td>Mærke</td>
<td><input name="maerke" type="text" id="maerke" /></td>
</tr>
<tr>
<td>Årgang</td>
<td><input name="aargang" type="text" id="aargang" /></td>
</tr>
<tr>
<td>Model</td>
<td><input name="model" type="text" id="model" /></td>
</tr>
<tr>
<td>Farve</td>
<td><input name="farve" type="text" id="farve" /></td>
</tr>
<tr>
<td>Km</td>
<td><input name="km" type="text" id="km" /></td>
</tr>
<tr>
<td>Pris</td>
<td><input name="pris" type="text" id="pris" /></td>
</tr>
<tr>
<td><input type="submit" name="submit_bil" value="Tilføj nyt" /></td>
</tr>
</table>
</form>