Voodoo Jai Posted June 26, 2008 Share Posted June 26, 2008 Is GD library bundled with PHP, as it shows up in phpinfo now I have removed the semicolons. If so, its not displaying my graphic when loaded into a browser, what are the possible causes of this. Thanks again Quote Link to comment https://forums.phpfreaks.com/topic/112088-solved-enable-gd-library/ Share on other sites More sharing options...
Jabop Posted June 26, 2008 Share Posted June 26, 2008 Well there could be a wide array of causes, you need to show your code or an error message to get anywhere as far as an answer is concerned. Quote Link to comment https://forums.phpfreaks.com/topic/112088-solved-enable-gd-library/#findComment-575418 Share on other sites More sharing options...
Voodoo Jai Posted June 26, 2008 Author Share Posted June 26, 2008 I am trying to create an image verification page using these two files <?php //this function is called recursivelly function random_string($len=5, $str='') { for($i=1; $i<=$len; $i++) { //generates a random number that will be the ASCII code of the character. //We only want numbers (ascii code from 48 to 57) and caps letters. $ord=rand(48, 90); if((($ord >= 48) && ($ord <= 57)) || (($ord >= 65) && ($ord<= 90))) $str.=chr($ord); //If the number is not good we generate another one else $str.=random_string(1); } return $str; } //create the random string using the upper function //(if you want more than 5 characters just modify the parameter) $rand_str=random_string(5); //We memorize the md5 sum of the string into a session variable $_SESSION['image_value'] = md5($rand_str); //Get each letter in one valiable, we will format all letters different $letter1=substr($rand_str,0,1); $letter2=substr($rand_str,1,1); $letter3=substr($rand_str,2,1); $letter4=substr($rand_str,3,1); $letter5=substr($rand_str,4,1); //Creates an image from a png file. If you want to use gif or jpg images, //just use the coresponding functions: imagecreatefromjpeg and imagecreatefromgif. //$image=imagecreatefrompng("images/noise.png"); //$image=imagecreatefrompng("fonts/noise.png"); $image=imagecreatefromjpeg("fonts/noise.jpg"); //$image=imagecreatefromgif("fonts/noise.gif"); //Get a random angle for each letter to be rotated with. $angle1 = rand(-20, 20); $angle2 = rand(-20, 20); $angle3 = rand(-20, 20); $angle4 = rand(-20, 20); $angle5 = rand(-20, 20); //Get a random font. (In this examples, the fonts are located in "fonts" directory and named from 1.ttf to 10.ttf) $font1 = "fonts/".rand(1, 10).".ttf"; $font2 = "fonts/".rand(1, 10).".ttf"; $font3 = "fonts/".rand(1, 10).".ttf"; $font4 = "fonts/".rand(1, 10).".ttf"; $font5 = "fonts/".rand(1, 10).".ttf"; //Define a table with colors (the values are the RGB components for each color). $colors[0]=array(122,229,112); $colors[1]=array(85,178,85); $colors[2]=array(226,108,97); $colors[3]=array(141,214,210); $colors[4]=array(214,141,205); $colors[5]=array(100,138,204); //Get a random color for each letter. $color1=rand(0, 5); $color2=rand(0, 5); $color3=rand(0, 5); $color4=rand(0, 5); $color5=rand(0, 5); //Allocate colors for letters. $textColor1 = imagecolorallocate ($image, $colors[$color1][0],$colors[$color1][1], $colors[$color1][2]); $textColor2 = imagecolorallocate ($image, $colors[$color2][0],$colors[$color2][1], $colors[$color2][2]); $textColor3 = imagecolorallocate ($image, $colors[$color3][0],$colors[$color3][1], $colors[$color3][2]); $textColor4 = imagecolorallocate ($image, $colors[$color4][0],$colors[$color4][1], $colors[$color4][2]); $textColor4 = imagecolorallocate ($image, $colors[$color5][0],$colors[$color5][1], $colors[$color5][2]); Write text to the image using TrueType fonts. $size = 20; imagettftext($image, $size, $angle1, 10, $size+15, $textColor1, $font1, $letter1); imagettftext($image, $size, $angle2, 35, $size+15, $textColor2, $font2, $letter2); imagettftext($image, $size, $angle3, 60, $size+15, $textColor3, $font3, $letter3); imagettftext($image, $size, $angle4, 85, $size+15, $textColor4, $font4, $letter4); imagettftext($image, $size, $angle5, 110, $size+15, $textColor5, $font5, $letter5); header('Content-type: image/jpeg'); Output image to browser imagejpeg($image); Destroys the image imagedestroy($image); ?> and the second one to show the iamge <?php session_start(); ?> <HTML> <HEAD> <TITLE>Random image sample</TITLE> <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=iso-8859-1\"> </HEAD> <BODY> <?php $errors=0; if(isset($_POST['Submit'])) { $number = $_POST['number']; if(md5($number) != $_SESSION['image_value']) echo '<h1>Validation string not valid! Please try again!</h1>'; else { echo '<h1>Your string is valid!</h1>'; //do what you want with the data } } ?> <form name="form1" method="post" action="random_sample.php"> <table cellspacing="0" width="600" align="center"> <tr><td valign="top" align="right">Comments</td> <td><input name="message" size=40 value="...your message here"> </td></tr> <tr><td colspan=2 align="center"> <font size="1" face="Geneva, Arial, Helvetica, sans-serif"><strong><font size="2"> Please enter the string shown in the image in the form.<br> The possible characters are letters from A to Z in capitalized form and the numbers from 0 to 9. </font></td></tr> <tr><td align="center" colspan=2><input name="number" type="text" id=\"number\"></td></tr> <tr><td colspan=2 align="center"><img src="random_image.php"><br><img src="fonts/noise.png"></td></tr> <tr><td colspan=2 align="center"><input name="Submit" type="submit" value="Submit"></td></tr> </table> </form> </BODY> </HTML> the file does not show the graphics to decipher. Quote Link to comment https://forums.phpfreaks.com/topic/112088-solved-enable-gd-library/#findComment-575437 Share on other sites More sharing options...
Voodoo Jai Posted June 26, 2008 Author Share Posted June 26, 2008 I have not commented out correctly so now the image shows, but the letters for inout are missing. getting closer to solving it. Quote Link to comment https://forums.phpfreaks.com/topic/112088-solved-enable-gd-library/#findComment-575454 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.