Zwracam się do Państwa z następującym pytaniem. Otóż mam skrypt przedstawiony na listingu nr. 1 (znaleziony na tym forum).
I jak go uruchamiam to w oknie przeglądarki widnieje napis - " Fatal error: Call to undefined function ImageCreate() in C:\usr\www\s\u\b.php on line 81 ". Owa linia nr. 81 została oznaczona komentarzem w listingu nr. 1.
Według mnie jest to problem z biblioteką GD. Ja już próbowałem uruchamiać różne skrypty napisane w języku PHP, które miały za zadanie generować kody kreskowe i zawsze występował jakiś błąd. Chyba nawet ten sam*?.
Mój serwer to Apache 2.0.55.0, interpreter PHP w wersji 5.1.4 .
Jak mam usunąć ten problem? Proszę o pomoc w jego rozwiązaniu!
<?php
class Code
{
public function __construct ($code)
{
$lw = 2;
$hi = 100;
(
'0001101',
'0011001',
'0010011',
'0111101',
'0100011',
'0110001',
'0101111',
'0111011',
'0110111',
'0001011'
);
(
'1110010',
'1100110',
'1101100',
'1000010',
'1011100',
'1001110',
'1010000',
'1000100',
'1001000',
'1110100'
);
$ends = '101';
$center = '01010';
{
die ('Blad podczas tworzenia kodu kreskowego.'); }
$ncode = '0' . $code;
$even = 0;
$odd = 0;
for ($x = 0; $x < 12; $x++)
{
if ($x % 2)
{
$odd += $ncode[$x];
}
else
{
$even += $ncode[$x];
}
}
$code .= (10 - (($odd * 3 + $even) % 10)) % 10;
$bars = $ends;
$bars .= $Lencode[$code[0]];
for ($x = 1; $x < 6; $x++)
{
$bars .= $Lencode[$code[$x]];
}
$bars .= $center;
for ($x = 6; $x < 12; $x++)
{
$bars .= $Rencode[$code[$x]];
}
$bars .= $ends;
$img = ImageCreate ($lw * 95 + 30, 50); // linia 81
$fg = ImageColorAllocate ($img, 0, 0, 0);
$bg = ImageColorAllocate ($img, 255, 255, 255);
ImageFilledRectangle ($img, 0, 0, $lw * 95 + 30, $hi + 30, $bg);
$shift = 10;
for ($x = 0; $x < strlen ($bars); $x++) {
if (($x < 10) || ($x >= 45 && $x < 50) || ($x >= 85))
{
$sh = 10;
}
else
{
$sh = 0;
}
if ($bars[$x] == '1')
{
$color = $fg;
}
else
{
$color = $bg;
}
ImageFilledRectangle ($img, ($x * $lw) + 15, 5, ($x + 1) * $lw + 14, $hi + 5 + $sh, $color);
}
ImageString ($img, 4, 5, $hi - 5, $code[0], $fg);
for ($x = 0; $x < 5; $x++)
{
ImageString ($img, 5, $lw * (13 + $x * 6) + 15, $hi + 5, $code[$x+1], $fg);
ImageString ($img, 5, $lw * (53 + $x * 6) + 15, $hi + 5, $code[$x+6], $fg);
}
ImageString ($img, 4, $lw * 95 + 17, $hi - 5, $code[11], $fg);
//header ("Content-Type: image/png");
ImagePNG ($img, 'code.png');
}
}
?>
<?php
$CreateCode = new Code (12345678901);
?>
Ten post edytował dsinfo 28.12.2008, 19:11:55