Avatar billede thb Nybegynder
06. januar 2007 - 16:04 Der er 11 kommentarer og
1 løsning

GD funktion virker kun lokalt

Hej alle,

Jeg har siddet og lavet en funktion som skal lave et billede om i størrelse, lave et watermark, og evt. skrive en tekst i hjørnet.

Men funktionen virker kun lokalt.

function watermark($file, $filename, $wmark = true, $name = "") {
       
        global $path;
     
        if ($file["error"] == 0) {
       
            switch (strtolower(substr($file["name"], strrpos($file["name"], ".")+1))) {
                case "jpg":
                case "jpeg":
                    $img = imagecreatefromjpeg($file["tmp_name"]);
                    break;
                case "gif":
                    $img = imagecreatefromgif($file["tmp_name"]);
                    break;
                default:
                    break;
            }
           
            // RESIZE
            list($width, $height) = getimagesize($file["tmp_name"]);
            $newwidth = ($width > 500) ? "500" : $width;
            $forhold = ($height/$width);
            $newheight = round($newwidth*$forhold);
            $thumb = imagecreatetruecolor($newwidth, $newheight);
            imagecopyresampled($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
           
            // WATERMARK
            if ($wmark) {
                $watermark_sti = $path . "gfx/reptilnet_logo.png";
                $watermark = imagecreatefrompng($watermark_sti);
                imagecopy($thumb, $watermark, ($newwidth-298), ($newheight-44), 0, 0, 298, 44);
            }
         
            // EXTRA NAME
            if ($name != "") {
                $text_color = imagecolorallocate($thumb, 255, 255, 255);
                imagestring($thumb, 3, 6, 4, $name, $text_color);
            }
           
            // SAVE
            $save_path = "/billeder/" . $filename . ".jpg";
            imagejpeg($thumb, $save_path))
            imagedestroy($thumb);
       
           
           
        }
     
    }

Er der nogle af jer der kan se hvorfor det ikke skulle virke på min server.

Bruger GD safe_mode ???

Thomas
Avatar billede coderdk Praktikant
06. januar 2007 - 16:23 #1
$save_path = "/billeder/" . $filename . ".jpg";

Skulle nok være

$save_path = "billeder/" . $filename . ".jpg";

ville jeg tro
Avatar billede showsource Seniormester
06. januar 2007 - 19:51 #2
Eller evt.
$save_path = $_SERVER["DOCUMENT_ROOT"] ."/billeder/" . $filename . ".jpg";
Avatar billede thb Nybegynder
07. januar 2007 - 00:33 #3
Det virker ikke noget af det.
Avatar billede hberg Nybegynder
07. januar 2007 - 00:47 #4
Har du kontrolleret om dit webhotel understøtter GD?
Avatar billede coderdk Praktikant
07. januar 2007 - 01:57 #5
Ja, får du nogen fejl? ;P
Avatar billede thb Nybegynder
07. januar 2007 - 21:17 #6
Webhotellet understøtter GD, og med samme version som min lokal server.
Jeg får ikke nogen fejl. Den er bare meget lang tid om det, og så når den er færdig så er der ikke sket noget...

Det er imagejpeg() funktionen der ikke bliver kørt, for følgende udskriver ikke noget:

if (imagejpeg($im, "test.jpg")) {
  echo "Det virker";
}

Thomas
Avatar billede coderdk Praktikant
07. januar 2007 - 21:28 #7
Syntaksen er imagejpeg("filnavn.jpg");

Prøv:

error_reporting( E_ALL );
if ( $im = imagejpeg( "test.jpg" ) )
{
  echo "Det virker";
}
else
{
  echo "Det virker ikke...";
}
Avatar billede thb Nybegynder
07. januar 2007 - 23:59 #8
Ikke i følge php.net:

http://dk2.php.net/manual/da/function.imagejpeg.php

bool imagejpeg ( resource image [, string filename [, int quality]] )

Men jeg kan da godt lige prøve din metode imorgen.

Thomas
Avatar billede coderdk Praktikant
08. januar 2007 - 00:01 #9
Ja, ok jeg er stiv :) Men imagejpeg er til at *LAVE* billedet ;) Og webserveren skal have skriverettigheder til den mappe :)
Jeg læste det som imagecreatefromjpeg() fordi den stod alene (imagejpeg giver ikke mening alene) ;)
Avatar billede thb Nybegynder
08. januar 2007 - 15:49 #10
Wuhuuuuu.... Sikke en nubie fejl, mappe rettigheder på serveren.
Nu virker min kode som jeg lavede fredag aften.

tusind tak for hjælpen.

Smid et svar.
Avatar billede thb Nybegynder
08. januar 2007 - 15:50 #11
Nubie fejl, efter 8 års kodning... DANM...

Thomas
Avatar billede coderdk Praktikant
08. januar 2007 - 18:16 #12
Det sker jo for os alle :-D
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