| View previous topic :: View next topic |
| Author |
Message |
frankitoy
Joined: 23 Feb 2007 Posts: 1
|
Posted: Fri Feb 23, 2007 4:57 am Post subject: Error generating CAPTCHA (maybe font missing?)! |
|
|
i need help pls to solve this code
it outputs "Error generating CAPTCHA (maybe font missing?)!"
if (!function_exists('file_put_contents')) {
function file_put_contents($filename, $content) {
if (!($file = fopen($filename, 'w'))) {
return false;
}
$n = fwrite($file, $content);
fclose($file);
return $n ? $n : false;
}
}
// Start PHP session support
session_start();
$ok = false;
$msg = 'Please enter the text in the image in the field below!';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['phrase']) && isset($_SESSION['phrase']) &&
strlen($_POST['phrase']) > 0 && strlen($_SESSION['phrase']) > 0 &&
$_POST['phrase'] == $_SESSION['phrase']) {
$msg = 'OK!';
$ok = true;
unset($_SESSION['phrase']);
} else {
$msg = 'Please try again!';
}
unlink(md5(session_id()) . '.png');
}
print "<p>$msg</p>";
if (!$ok) {
require_once 'Text/CAPTCHA.php';
// Set CAPTCHA image options (font must exist!)
$imageOptions = array(
'font_size' => 24,
);
// Set CAPTCHA options
$options = array(
'width' => 200,
'height' => 80,
'output' => 'png',
'imageOptions' => $imageOptions
);
// Generate a new Text_CAPTCHA object, Image driver
$c = Text_CAPTCHA::factory('Image');
$retval = $c->init($options);
if (PEAR::isError($retval)) {
echo 'Error initializing CAPTCHA!';
exit;
}
// Get CAPTCHA secret passphrase
$_SESSION['phrase'] = $c->getPhrase();
// Get CAPTCHA image (as PNG)
$png = $c->getCAPTCHA();
if (PEAR::isError($png)) {
echo 'Error generating CAPTCHA (maybe font missing?)!';
exit;
}
file_put_contents(md5(session_id()) . '.png', $png);
echo '<form method="post">' .
'<img src="' . md5(session_id()) . '.png?' . time() . '" />' .
'<input type="text" name="phrase" />' .
'<input type="submit" /></form>';
}
?> |
|
| Back to top |
|
 |
mark

Joined: 07 Jan 2007 Posts: 1003
|
Posted: Fri Feb 23, 2007 9:46 am Post subject: |
|
|
Replacing
if (PEAR::isError($png)) {
echo 'Error generating CAPTCHA (maybe font missing?)!';
exit;
}
by
if (PEAR::isError($png)) {
die($png->getMessage() . '<br />' . $png->getDebugInfo());
}
will tell you more. |
|
| Back to top |
|
 |
robertos
Joined: 17 Mar 2007 Posts: 32
|
Posted: Sat Mar 17, 2007 5:52 pm Post subject: |
|
|
Hello,
I'm trying the first example from the Captcha pakage(wich tries to create a png) and i get the following error: Error initializing Image_Text (font missing?!).
This is form from my phpinfo():
./configure...........' '--with-freetype-dir=/usr'...........and this:
GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.2.1
and the command locate ttf | grep -i COUR.TTF gives me:
/usr/share/fonts/msttcorefonts/cour.ttf
so perhaps i should recompile php with a different path to freetype?But i'm not sure exactly which path.......any ideas?Thanks.
Is there a freetype extention available with yum?(I'm using FC6) .
Thanks |
|
| Back to top |
|
 |
mark

Joined: 07 Jan 2007 Posts: 1003
|
Posted: Sat Mar 17, 2007 6:05 pm Post subject: |
|
|
| Do you have Image_Text installed? |
|
| Back to top |
|
 |
robertos
Joined: 17 Mar 2007 Posts: 32
|
Posted: Sat Mar 17, 2007 6:18 pm Post subject: |
|
|
Yes:
pear install Image_Text
pear/Image_Text is already installed and is newer than detected release version 0.5.2beta2 |
|
| Back to top |
|
 |
osde.info
Joined: 18 Apr 2007 Posts: 2
|
|
| Back to top |
|
 |
|