Avatar billede JJ77 Juniormester
01. februar 2006 - 17:03 Der er 1 løsning

Korter det nederste af billede ved resize af billedupload

Hej experter. Jeg har et problem med at uploade billeder til en hjemmeside. Jeg bruger nedenstående kode, og man kan uploade 3 billeder til en annonce på én gang når den oprettes. Mit problem kommer når det første billede er vandret(aflangt billede) og det næste er lodret(højt billede), så bliver det andet billede kortet af i bunden. Det mystiske er, hvis de bliver uploadet i modsat rækkefølge, så er der ingen problemer og begge billeder bliver vist i deres fulde resizede størrelse.



<?
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> ';

}


bla. bla. bla.
bla. bla. bla.
bla. bla. bla.


    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 &quot;Min profil&quot;</span><br>
        <span class=\"lille\">- Det er kun tilladt at oprette &eacute;n annonce pr. vare/produkt.</span>";
    }
    else
    {
      echo "Fejl: " . mysql_error() . "<br>";
    }
}

?>
Avatar billede JJ77 Juniormester
11. februar 2006 - 21:50 #1
hmm.. nå men så lukker jeg den
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel