Avatar billede JJ77 Juniormester
31. januar 2006 - 21:39 Der er 6 kommentarer og
1 løsning

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 &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
31. januar 2006 - 21:44 #1
Det sker fx hvis man uploader to billeder, og det første billede er aflangt, og det næste er lodrat. Altså et fladt og et højt billede
Avatar billede JJ77 Juniormester
31. januar 2006 - 22:08 #2
Eller har det faktisk noget med selve visningen af billederne af gøre.. Er det noget med en tabel som får en fast højde ved det første billede, og derfor ikke giver sig ved næste? nedenfor vises den kode som viser selve billederne og teksten.



<?php
require_once("../members/common.php");

$Id = $_GET[id];

$hent = mysql_query("SELECT * FROM salgAfProdukt left join postnr on salgAfProdukt.postNr = postnr.postnr WHERE id = '$Id'") or die(mysql_error());
$raekke = mysql_fetch_assoc($hent);

echo "<a href=\"java script:history.go(-1)\"><div align=\"center\"><- Tilbage</div></a><br>";


echo "
  <table width=\"560\" border=\"0\" cellspacing=\"5\" cellpadding=\"0\" bgcolor=\"#FFFFFF\">
  <tr>
  <td width=\"490\" valign=\"top\"><span class=\"mellem\">".$raekke['produkt']."</span> <br><span class=\"lille\">".$raekke['supplerendeTekst']."</span></td>
  </tr></table>

<table width=\"260\" border=\"0\" cellspacing=\"5\" cellpadding=\"0\"bgcolor=\"#FFFFFF\">
            <tr>
            <td width=\"60\" valign=\"top\"><span class=\"mellem\">Pris:</span></td>
            <td width=\"200\" valign=\"top\"><span class=\"lilleS\">".$raekke['pris']." Kr.<br><br></span></td>
            </tr>
            <tr>
            <td width=\"60\" valign=\"top\"><span class=\"mellem\">Tlf 1:</span></td>
            <td width=\"200\" valign=\"top\"><span class=\"lilleS\">".$raekke['tlf1']."</span></td>
            </tr>
            <tr>
            <td width=\"60\" valign=\"top\"><span class=\"mellem\">Tlf 2:</span></td>
            <td width=\"200\" valign=\"top\"><span class=\"lilleS\">".$raekke['tlf2']."</span></td>
            </tr>
            <tr>
            <td width=\"60\" valign=\"top\"><span class=\"mellem\">E-mail:</span></td>
            <td width=\"200\" valign=\"top\"><span class=\"lilleS\">".$raekke['email']."</span></td>
            </tr>
            <tr>
            <td width=\"60\" valign=\"top\"><span class=\"mellem\">By:</span></td>
            <td width=\"200\" valign=\"top\"><span class=\"lilleS\">".$raekke['bynavn']."</span></td>
            </tr>
</table>         
<tr>
            <td colspan=\"2\">";
           
  require_once("../members/common.php");
  $imgID = mysql_real_escape_string($_GET['id']);
  $imgquery = mysql_query("SELECT * FROM billeder_salgAfProdukt WHERE artikelid = '".$imgID."' LIMIT 5") or die(mysql_error());
  while($imgrow = mysql_fetch_assoc($imgquery))
  {
    echo "<div align=\"center\"><img src=\"imageSalgsannoncer.php?id=".$imgrow[id]."\"></div><br><br>";
  }
echo "        </td>
            </tr>
        ";

?>
Avatar billede JJ77 Juniormester
31. januar 2006 - 22:21 #3
Hmmm.. tror faktisk at problemet ligger ved selve uploadningen af billedet, for hvis jeg prøver at hente alle billeder på en gang er der stadig nogle som er blevet kortet af.. hmmm :(
Avatar billede JJ77 Juniormester
31. januar 2006 - 22:33 #4
Sjovt nok så virker det fint hvis man uploader billedet på højkant først..
Avatar billede jakobdo Ekspert
01. februar 2006 - 07:02 #5
Hvilken datatype bruger du til at gemme billedet med?
(det ligner noget kode jeg har lavet) :o)
Og der fandt jeg ud af at du skal bruge datatypen: BIGBLOB
Avatar billede JJ77 Juniormester
01. februar 2006 - 09:43 #6
Har lige prøvet at ændre den til longblob.. men det hjalp ikke noget..
.... og ja, det er noget du har lavet:)
Avatar billede JJ77 Juniormester
01. februar 2006 - 16:52 #7
prøver lige at oprette spørgsmålet på ny, med koden som laver størrelsen på billedet:(
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