login  Naam:   Wachtwoord: 
Registreer je!
 Forum

random image

Offline Appie_Dijk - 25/09/2006 12:24
Avatar van Appie_DijkLid hallo iedereen,

sinds kort ben ik verhuist van de ene webhoster naar een andere.
nu heb ik een script dat op de oude server prima draaide maar op de nieuwe niet:

  1. <?php
  2.  
  3.  
  4. $len = 5; // length of string
  5.  
  6. $lchar = 0;
  7. $char = 0;
  8.  
  9. /**************************************************
  10.   $random_text will hold the secret and random text!
  11.   **************************************************/
  12. // create 'random' text
  13.  
  14. for($i = 0; $i < $len; $i++) {
  15.  
  16. while($char == $lchar) {
  17. $char = rand(48, 109);
  18. if($char > 57) $char += 7;
  19. if($char > 90) $char += 6;
  20. }
  21.  
  22. $random_text .= chr($char);
  23. $lchar = $char;
  24.  
  25. }
  26.  
  27. $_SESSION['code'] = $random_text;
  28.  
  29.  
  30.  
  31. $width = 100; // width of image
  32. $height = 30; // height of image
  33. $fontsize = 6; // fontsize
  34.  
  35. //-- Random string voor images code
  36.  
  37. $fontwidth = ImageFontWidth($fontsize) * strlen($random_text);
  38. $fontheight = ImageFontHeight($fontsize);
  39.  
  40. // create handle for image
  41. $im = @imagecreate($width,$height);
  42.  
  43. // white background
  44. $background_colour = imagecolorallocate($im, 255, 255, 255);
  45.  
  46. // give the 'random' text a nice colour
  47. $text_colour = imagecolorallocate($im, rand(0,150), rand(0,150), rand(0,150));
  48.  
  49. // give the border a colour too ;)
  50. imagerectangle($im, 0, 0, $width-1, $height-1, $text_colour);
  51.  
  52. // draw the string horizontally
  53. imagestring($im, $fontsize, rand(3, $width-$fontwidth-3), rand(2, $height-$fontheight-3), $random_text, $text_colour);
  54.  
  55. // lets output!
  56. header("Content-type: image/png");
  57. imagepng($im,'',80);
  58.  
  59. imagedestroy($im);
  60.  
  61. //sessie zetten
  62.  
  63.  
  64. ?>


wat kan ik hieraan doen??? of heeft iemand een soortgelijk script wat eventueel wel kan gaan werken?

gr. Albert

11 antwoorden

Gesponsorde links
Offline marten - 25/09/2006 12:32
Avatar van marten Beheerder wat doet het niet? wat is er precies per server veranderd (php versie bijvoorbeeld of mysql versie?)
Offline Appie_Dijk - 25/09/2006 12:37 (laatste wijziging 25/09/2006 12:41)
Avatar van Appie_Dijk Lid bij de vorige server kreeg ik netjes een plaatje te zien maar nu niet meer....

voorbeeld nieuwe server:
http://www.attractive-webdesign.nl/random.php

voorbeeld oude server:
http://www.woldendorp.net/agr/random.php


geen idee wat er aan phpversie is veranderd... hoe kan ik dit makkelijk controleren?
//edit: volgens mij was de vorige server PHP4 en de nieuwe PHP5
Offline marten - 25/09/2006 12:38 (laatste wijziging 25/09/2006 12:40)
Avatar van marten Beheerder maak een scriptje

daar zet je in:

  1. <?php
  2. ?>


Dan geef je hier de beide links even dus van de oude server en van de nieuwe server
Offline Appie_Dijk - 25/09/2006 12:46
Avatar van Appie_Dijk Lid nieuwe server is idd PHP5

versie 5.1.6 om precies te zijn...


oude server is idd PHP4

versie 4.3.10-16 om precies te zijn
Offline Thomas - 25/09/2006 12:48 (laatste wijziging 25/09/2006 12:48)
Avatar van Thomas Moderator En kijk of de GD library op de nieuwe server staat geinstalleerd, anders zal imagepng() and all that niet werken.

Een makkelijke manier om dit soort dingen te debuggen doe je als volgt: Maak van het content-type text/plain. Je krijgt dan eventuele foutmeldingen te zien (dacht ik althans ).
Offline marten - 25/09/2006 12:49
Avatar van marten Beheerder Heb je in de nieuwe versie de mysql extensie wel aangezet?
Is daarop de GD library wel geinstalleerd?
Offline Appie_Dijk - 25/09/2006 12:59 (laatste wijziging 25/09/2006 12:59)
Avatar van Appie_Dijk Lid GD library staat aan... zelfde versie e.d. (zo te zien)\

@FargorN: hoe bedoel je dit:
Citaat:
Een makkelijke manier om dit soort dingen te debuggen doe je als volgt: Maak van het content-type text/plain. Je krijgt dan eventuele foutmeldingen te zien (dacht ik althans ).
Offline Thomas - 25/09/2006 13:06 (laatste wijziging 25/09/2006 13:07)
Avatar van Thomas Moderator In regel 57 kun je hier dat content-type neerzetten.

Als bijv. GDlib niet geinstalleerd zou zijn, of dat 'ie paden van fonts niet kan vinden ofzo, dan krijg je in plaats van geen output een textuele foutmelding dacht ik.

Je plaatjes "doen niets", ik geef aan hoe je zou kunnen achterhalen wat de oorzaak hiervan is. Dit kun je doen door het content-type van het plaatje te veranderen.

Veel duidelijker kan ik het niet uitleggen .
Offline Ultimatum - 25/09/2006 13:06
Avatar van Ultimatum PHP expert
  1. header("Content-type: image/png");

word
  1. header("Content-type: text/plain");


I think
Offline b4nkr0bz0r - 25/09/2006 13:52
Avatar van b4nkr0bz0r PHP gevorderde
  1. <?php
  2. if (!extension_loaded('gd'))
  3. {
  4. echo 'Je bent genaaid';
  5. }
  6. ?>
Offline Appie_Dijk - 25/09/2006 14:45 (laatste wijziging 25/09/2006 14:56)
Avatar van Appie_Dijk Lid @Ultimatum: ik krijg nog geen afbeelding te zien
@b4nkr0bz0r: ik krijg helemaal niets te zien


dit doet hij bijv. wel:
  1. <?php
  2.  
  3. $email = 'email@email.com'; // De email varibalen. Dit is de tekst. Je kan natuurlijk ook iets uit de DB halen en dan hier neerzetten.
  4.  
  5. $imgTXT = $email; //tekst die op de afbeelding komt
  6. $imgCreate = ImageCreate(300, 14); //breedte, hoogte
  7. $imgBg = ImageColorAllocate($imgCreate, 255, 255, 255); //255, 255, 255 is wit (achtergrond)
  8. $imgFg = ImageColorAllocate($imgCreate, 51, 51, 51); //51, 51, 51 is zwart (textkleur)
  9.  
  10. ImageFill($imgCreate, 1, 1, $imgBg);
  11. ImageString($imgCreate, 2, 1, 1, $imgTXT, $imgFg);
  12.  
  13. header('Content-type: image/png');
  14. ImagePNG($imgCreate);
  15. ImageDestroy($imgCreate);
  16. ?>





opgelost:
ik heb:
  1. imagepng($im,'',80);

vervangen voor:
  1. Imagepng($im);
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.265s