uploader ikke altid hele billedet
Jeg har en sider hvor man kan uploade op til 3 billeder til noget tekst. Problemet er at det til tider sker at man fx uploader 2 billeder, og det ene bliver så kortet lidt af.Hvis man fx prøver med de samme billeder igen kan det pludselig virke igen.. meget mystisk.
Nogle forslag til hvordan jeg løser problemet?
<?
require_once("common.php");
session_start();
function resize( $filename, $newfilename, $maxw, $maxh )
{
$result = false;
$srcim = imagecreatefromjpeg( $filename );
$ow = imagesx( $srcim );
$oh = imagesy( $srcim );
$wscale = $maxw / $ow;
$hscale = $maxh / $oh;
$scale = ( $hscale < $wscale ? $hscale : $wscale );
$nw = round( $ow * $scale, 0 );
$nh = round( $oh * $scale, 0 );
$dstim = imagecreatetruecolor( $nw, $nh );
imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
$result = imagejpeg( $dstim, $newfilename, 85 );
imagedestroy( $dstim );
imagedestroy( $srcim );
return $result;
}
$allowPics = array("jpg","jpeg","jpe");
if($userId = is_logged())
{
$userName = get_name();
}
else
{
echo' <body scroll="no" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td width="100%">
<div align="center">
<img src="../NewFiles/ikkeLoggetInd.gif" alt="" border="0"><br>
</div>
</td>
</tr>
<tr>
<td width="100%">
<div align="center">
</div>
</td>
</tr>
</table>
</body> ';
}
if(!empty($_POST['produkt']))
{
//Forbind til database...
$userId = mysql_real_escape_string($_POST['userId']);
$gruppe = mysql_real_escape_string($_POST['gruppe']);
$kategori = mysql_real_escape_string($_POST['kategori']);
$produkt = mysql_real_escape_string($_POST['produkt']);
$supplerendeTekst = mysql_real_escape_string($_POST['supplerendeTekst']);
$pris = mysql_real_escape_string($_POST['pris']);
$loebetidForAnnonce = mysql_real_escape_string($_POST['loebetidForAnnonce']);
$tlf1 = mysql_real_escape_string($_POST['tlf1']);
$tlf2 = mysql_real_escape_string($_POST['tlf2']);
$email = mysql_real_escape_string($_POST['email']);
$postNr = mysql_real_escape_string($_POST['postNr']);
$checkbox = mysql_real_escape_string($_POST['checkbox']);
//MEGET VIGTIGT.. NEDENSTÅENDE 2 QUERYS VEDLIGEHOLDER DATABASEN
//Q1 -HVIS DER HVERKEN STÅR ET TLF ELLER EN EMAIL KAN MAN IKKE KONTAKTES
//Q2 -SLETTER ANNONCER + TILHØRENDE BILLEDER SOM ER ÆLDRE END NUVÆRENDE DATO(kun annoncer med billede bliver slettet her)
//Q3 -SLETTER ANNONCER UDEN BILLEDER SOM ER ÆLDRE END NUVÆRENDE DATO
mysql_query("DELETE FROM salgAfProdukt WHERE tlf1='' and email=''");
mysql_query("DELETE salgAfProdukt, billeder_salgAfProdukt FROM salgAfProdukt, billeder_salgAfProdukt WHERE billeder_salgAfProdukt.artikelid=salgAfProdukt.id AND salgAfProdukt.loebetidForAnnonce < NOW()");
mysql_query("DELETE FROM salgAfProdukt WHERE loebetidForAnnonce < NOW()");
mysql_query("INSERT INTO salgAfProdukt(Id,userId,gruppe,kategori,produkt,supplerendeTekst,pris,loebetidForAnnonce,tlf1,tlf2,email,postNr,checkbox)
VALUES('','".$userId."','".$gruppe."','".$kategori."','".$produkt."','".$supplerendeTekst."','".$pris."', DATE_ADD(NOW(), INTERVAL ".$loebetidForAnnonce." DAY),'".$tlf1."','".$tlf2."','".$email."','".$postNr."','".$checkbox."')");
if(mysql_affected_rows()>0)
{
$errmsg = "";
$artikelID = mysql_insert_id();
for($i = 1; $i <= 5; $i++)
{
if($_FILES['imagefile']['size'][$i] > 1024000)
{
$errmsg .= "Billede " . $i . " er for stort, max 1024000 bytes!<br>";
}
else
{
$extension = strtolower(end(explode(".",$_FILES['imagefile']['name'][$i])));
if(!in_array($extension,$allowPics))
{
$errmsg .= "Billede " . $i . " er forkert type, kun jpeg!<br>";
}
else
{
$dato = date("y-m-d h:i:s");
resize($_FILES['imagefile']['tmp_name'][$i],"latest.img",350,350);
$instr = fopen("latest.img","rb");
$image = addslashes(fread($instr,filesize("latest.img")));
mysql_query ("insert into billeder_salgAfProdukt (id, artikelid, pic, oprettetDato) values ('', ".$artikelID.",'".$image."','.$dato.')") or die(mysql_error());
}
}
}
echo "<b><span class=\"speciel\">Annoncen er oprettet!</span></b><br>
<span class=\"lille\">- Du kan redigere og slette dine annoncer under "Min profil"</span><br>
<span class=\"lille\">- Det er kun tilladt at oprette én annonce pr. vare/produkt.</span>";
}
else
{
echo "Fejl: " . mysql_error() . "<br>";
}
}
?>
