Avatar billede mikkelz Nybegynder
09. marts 2004 - 16:22 Der er 3 kommentarer og
1 løsning

hjææælp find en fejl

hvad er der galt her, kan ikke selv finde fejlen??
http://www.fezt.dk/brugergalleri/uploadform.php
Når man uploader et billede kommer den med fejlen:

Warning: imagecreatetruecolor(): requires GD 2.0 or later in /customers/fezt.dk/fezt.dk/httpd.www/brugergalleri/upload.php on line 64

Warning: imagecopyresampled(): requires GD 2.0 or later in /customers/fezt.dk/fezt.dk/httpd.www/brugergalleri/upload.php on line 68

hvad gør ejg ved det???

her er html koderne:

<?php
include("upload_settings.php");

$dist = $_SERVER["DOCUMENT_ROOT"] ."/". $dirnavn ."/";

$size_up = ($max_kb*1024);

if(isset($_FILES["upfile"]) && is_uploaded_file($_FILES["upfile"]["tmp_name"])) {


$upname = $_FILES["upfile"]["name"];
$ext = pathinfo($upname);
$filtype = strtolower(@$ext["extension"]); // FILTYPE
$main = basename($upname, ".". $filtype); // FILNAVNET UDEN FILTYPE

        if(!in_array($filtype, $typer)) {
        echo"Kun ". implode(", ", $typer) ." filer kan uploades!";
        echo $back;
        exit();
        }


    if(false !==($picinfo = getimagesize($_FILES["upfile"]["tmp_name"]))) {

        if($picinfo[0] > $max_w || $picinfo[1] > $max_h) {
        echo"Dit billede er for stort i pixels!<br>\n";
        echo"Max. width er ". $max_w ." Dit er ". $picinfo[1] ."<br>\n";
        echo"Max.  height er ". $max_h ." Dit er ". $picinfo[0] ."<br>\n";
        echo $back;
        exit();
        }

        if($_FILES["upfile"]["size"] > $size_up) {
        echo"Filen m&aring; kun fylde ". round($size_up/1000) ." Kb! Denne fylder ". round(($_FILES["upfile"]["size"])/1000) ." Kb.";
        echo $back;
        exit();
        }

$i = 0;
while (is_file($dist . $upname)) {
$i++;
$upname = $main ."_". sprintf("%03u", $i) .".". $filtype;
}


    if(move_uploaded_file($_FILES["upfile"]["tmp_name"], $dist . $upname)) {

    $thumb_name = $th_name . $upname;
    chmod($dist . $upname, 0755);
    copy($dist . $upname, $dist . $thumb_name);

$get_th_px = $th_size/max($picinfo[0], $picinfo[1]);
$th_x = round($picinfo[0]*$get_th_px);
$th_y = round($picinfo[1]*$get_th_px);

if($filtype == "png") {
$ny = imageCreateFromPNG($dist . $thumb_name);
}elseif($filtype == "gif") {
$ny = imageCreateFromGIF($dist . $thumb_name);
}else{
$ny = imageCreateFromJPEG($dist . $thumb_name);
}

if(true !==($newfile = imagecreatetruecolor($th_x, $th_y))) {
$newfile = imagecreate($th_x, $th_y);
}

imagecopyresampled($newfile,$ny,0,0,0,0, $th_x,$th_y, $picinfo[0],$picinfo[1]);

if($filtype == "png") {
imagepng($newfile, $dist . $thumb_name);
}else{
imagejpeg($newfile, $dist . $thumb_name);
}

    }else{
    echo"Kunne ikke fuldf&oslash;re upload! ". $back;
    }

    }else{
    echo"Umuligt at bruge uploadet fil som billede!";
    exit();
    }   


}

//header("Location:". $dirnavn ."");

?>

og

<?php
$dirnavn ="brugergalleri";

$max_w = 640; // Max bredde på billede
$max_h = 480; // Max højde på billede
$max_kb = 75; // Max str. i Kb på billede

$th_size = 120; // Max. bredde eller højde på thumbnail
$th_name ="th_"; // navn som thumbnail får, ex. fil som uploades hedder billede.jpg, thmubnavn bliver så th_billede.jpg

// Filtyper som kan uploades, default er jpg, jpeg, png samt gif
// Tilføj ikke nogen, da upload.php ikke er lavet til andre.
// Men slet f.eks. png hvis man ikke skal kunne uploade png filer
$typer = array("jpg", "jpeg", "png", "gif");

$back = " <a href=\"/". $dirnavn ."/uploadform.php\">Tilbage</a>";

?>


og

<?php include("upload_settings.php"); ?>
<html><head><title>Uploadform</title></head>
<body>
<form enctype="multipart/form-data" action="upload.php" method="post">
<table><tr>

    <td>V&aelig;lg en fil til upload.<br>
<input name="upfile" type="file" class="input" size="40"> <input type="submit" value="Upload" class="submit">
<br>
Flg. filtyper accepteres for upload: <?php echo implode(", ", $typer); ?>.<br>
Filen m&aring; ikke fylde mere end <?php echo $max_kb; ?> Kb.<br>
Og max bredde er <?php echo $max_w; ?> pixels, max. h&oslash;jde  <?php echo $max_h; ?> pixels.</td>

</tr></table>
</form>

</body></html>
Avatar billede swaxi Nybegynder
09. marts 2004 - 16:33 #1
som der står - den DGlib, der er installeret på serveren, er ikke v.2.0 og understøtter derfor ikke funktionen imagecreatetruecolor()
du kan prøve, at skifte den ud med imagecreate()
Avatar billede swaxi Nybegynder
09. marts 2004 - 16:34 #2
og imagecopyresampled() med imagecopyresized()
Avatar billede mikkelz Nybegynder
10. marts 2004 - 13:50 #3
altså, dvs. jeg skal erstatte ALLE de ord der hedder imagecreatetruecolor()
ud med imagecreate()og imagecopyresampled() med imagecopyresized() ???

Iden ovenover, så skulle det virke eller hvad??
Avatar billede swaxi Nybegynder
10. marts 2004 - 14:53 #4
det vil jeg tro. kvaliteten bliver ikke så god, men hvis du vil have understøttelse af 24bit farve, bliver du nødt til, at opgradere din server til, at bruge GDlib 2.0
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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