Avatar billede svend-herlig Nybegynder
23. januar 2008 - 19:09 Der er 8 kommentarer og
1 løsning

imagettftext hvad er det jeg gør forkert?

Min fejl ser sådan ud:
Fatal error: Call to undefined function ImageTTFText() in /data/www/vhosts/udenpis.dk/httpdocs/mail/verify.php on line 15


Sådan ser linie 15 ud:
ImageTTFText ($im,32,5,6,45,$sort,"verdana.ttf",$str);


og sådan ser hele scriptet ud:
<?php
session_start();

if(isset($_SESSION['verify'])) {
  unset($_SESSION['verify']);
}

$str = substr(strtoupper(md5(uniqid("w"))), 0, 5);

$_SESSION['verify'] = $str;

$im = ImageCreateFromPNG("verify.png"); // Definer baggrundsgrafik
$sort = ImageColorAllocate($im,0,0,0);  // Definer tekstfarve - rgb-værdier
ImageTTFText ($im,32,5,6,45,$sort,"verdana.ttf",$str); // Definer fontfil -
    // Tallene i parentesen herover betyder:
    // 32 = fontstørrelse i px
    // 5 = rotation i grader
    // 6 = afstand i px fra venstre billedkant til tekst
    // 45 = afstand i px fra billedtop til tekstlinje
header("Content-type: image/png");
ImagePNG($im);
ImageDestroy($im);

?>

hvad er det jeg ikke må, eller ikke har defineret?

her er lige en php info:
http://udenpis.dk/hej.php
Avatar billede kjeldsted Novice
23. januar 2008 - 19:31 #1
Svaret er ganske simpelt: ImageTTFText() er ikke en funktion der er intergreret i php og da den skriver "Call to undefined function" betyder det så at denne funktion ikke eksistere.

Jeg formoder at det er en kode du har fra en eller anden side og altså ikke selv har skrevet? I så fald skaldu først diffinere funktionen ImageTTFText()...
Avatar billede erikjacobsen Ekspert
23. januar 2008 - 19:33 #2
Din phpinfo siger ikke noget om TTF. Der kunne fx. være en:  --with-ttf=/usr
Er det et webhotel?
Avatar billede kjeldsted Novice
23. januar 2008 - 19:34 #3
Hovsa.. Smutter... funktionen imagettftext() eksistere i PHP 4 samt PHP 5... Prøv at ændre 'ImageTTFText(' til 'imagettftext('.

Og sørg for at du kører på enten PHP 4 eller PHP 5. skal Beklage det forrige svar. Var ikke lige opmærksom :-)
Avatar billede svend-herlig Nybegynder
23. januar 2008 - 21:11 #4
kjeldsted, jeg har prøvet at ændre det, det gør ingen forskel
erikjacobsen, det er min fætters erhversserver, hvad foreslår du jeg prøver?
Avatar billede svend-herlig Nybegynder
23. januar 2008 - 21:12 #5
Avatar billede erikjacobsen Ekspert
23. januar 2008 - 21:17 #6
Nogen skal ændre på serveren for at få slået de funktioner til - det afhænger lidt hvor det kører, fx Windows/*ix. Du skal snakke med dem der bestyrer den.
Avatar billede bobslaede Nybegynder
24. januar 2008 - 09:48 #7
Det her er noget gammelt kode jeg havde liggende, og det skal nok lige tilpasses en smule for at du kan bruge det, evt. til at teste med. Jeg har en mappe der hedder fonts/ for alle de skriftyper jeg vil bruge ligger. Globalen BASEDIR er bare roden, kan være du kan bruge det:

header("Content-type: image/png");

$im = imagecreatetruecolor(600, 2400);

$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
$blue = imagecolorallocate($im, 0, 110, 184);
imagefilledrectangle($im, 1, 1, 598, 2398, $white);

$text = 'abcdefABCDEF';

$fonts = glob(BASEDIR."/fonts/*");

$top = 25;
foreach ($fonts as $font) {
    $fname = basename($font);
    imagettftext($im, 11, 0, 4, $top, $grey, BASEDIR.'/fonts/calibri.ttf', $fname);
    imagettftext($im, 20, 0, 200, $top, $blue, $font, $text);
    $top += 25;
}

imagepng($im);
imagedestroy($im);
Avatar billede svend-herlig Nybegynder
24. januar 2008 - 14:17 #8
jeg ser lige på det :)
Avatar billede svend-herlig Nybegynder
17. oktober 2010 - 17:07 #9
jeg nåede ikke rigtig længere med det og vil gerne have lukket, skriv hvis du føler dig snydt for point så tildeler jeg dig nogen.
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