Avatar billede needphphelp Nybegynder
20. maj 2000 - 22:40 Der er 20 kommentarer og
1 løsning

Problemer Med Gif i PHP

Hej jeg har fundet dette script, men når jeg prøver det, laver den en fejl, mine små undersøgelser, viser at der er linje 24 ($img = imagecreatefromgif("$img");) den laver fejl, den kommer med følgene fejl: Call to unsupported or undefined function imagecreatefromgif() inde på php.net er funktionen beskriver, så den eksistere da i PHP sproget, men hvad er problemet, den er også sat op som der står på php.net, somebody help me!!

<?
header( "Content-type: image/gif");

$fil =  "users/".$value. ".txt";
$error =  "error.gif";
$gif =  "counter.gif";

if (file_exists($fil)) {

$fsys = fopen( "$fil",  "r");
$indhold = fgets( "$fsys",  "444");
fclose( "$fsys");

$fsys2 = fopen( "$fil",  "w");
$split = split( "\|", $indhold);
$plus = $split[0]+1;
fputs( "$fsys2",  "$plus");
fclose( "$fsys2");

$img = imagecreatefromgif("$img");
$color = ImageColorAllocate( "$img",  "100",  "100",  "100");

ImageString($img, 3, 58, 13, $plus, $color);
ImageGif( "$img");
ImageDestroy( "$img");

} else {

readfile( "$error");
?>

Mvh. En der mangler hjælp til PHP.
Avatar billede erikjacobsen Ekspert
20. maj 2000 - 22:45 #1
Din PHP er ikke konfigureret til at have dette grafikbehandlingsmodul
med. Hvor kører du dit PHP - hjemme eller hos en udbyder?
Avatar billede andreas Nybegynder
20. maj 2000 - 22:47 #2
Der er et modul som skal installeres før du kan anvende php functionen, kan bare ikke huske hvad modulet hedder
Avatar billede erikjacobsen Ekspert
20. maj 2000 - 22:49 #3
Hvis du kører det hjemme skal du bare ændre i php3.ini, så denne linie

  extension=php3_gd.dll

ikke har et semicolon foran. Kører du linux hedder det jo godt nok andet, men
NÆSTEN det samme.
Avatar billede needphphelp Nybegynder
20. maj 2000 - 23:23 #4
Mange tak for de hurtige svar !

Jeg kører det hos min udbyder "DHT Consult" www.dht.dk de kører FreeBDS, hvad skal jeg have ham til at instalere eller redigere ?
Avatar billede erikjacobsen Ekspert
20. maj 2000 - 23:26 #5
Jah, "han" skal installere bemeldte modul: php3_gd.so, som det vist hedder i Unixer.
Avatar billede olebole Juniormester
21. maj 2000 - 01:32 #6
Problemet er bare, at 'drengene' bag gif-komprimeringen - for et par år siden - begyndte at 'gylpe' om licens penge, hvergang folk lavede et stykke grafik med den algoritme. Det har skræmt mange udbydere fra at installere gd_lib.
/Vh
Avatar billede needphphelp Nybegynder
21. maj 2000 - 10:35 #7
er det da ikke lovligt at indtalerer gd_lib på en FreeBDS
Avatar billede Slettet bruger
21. maj 2000 - 11:48 #8
Hehe, neddphphelp, du bruger et af mine scripts!!

Nå, men til sagen:

Prøv dette:

<?
dl("php3_gd.so");
header( "Content-type: image/gif");

$fil =  "users/".$value. ".txt";
$error =  "error.gif";
$gif =  "counter.gif";

if (file_exists($fil)) {

$fsys = fopen( "$fil",  "r");
$indhold = fgets( "$fsys",  "444");
fclose( "$fsys");

$fsys2 = fopen( "$fil",  "w");
$split = split( "\|", $indhold);
$plus = $split[0]+1;
fputs( "$fsys2",  "$plus");
fclose( "$fsys2");

$img = imagecreatefromgif("$img");
$color = ImageColorAllocate( "$img",  "100",  "100",  "100");

ImageString($img, 3, 58, 13, $plus, $color);
ImageGif( "$img");
ImageDestroy( "$img");

} else {

readfile( "$error");
?>

Hvis du så får den samme fejl igen,
så er det fordi din server kører GD version 1.6 eller derover.

GIF funktionerne i version 1.6 og derover er nemlig
fjernet, af en eller anden dum grund.

Håber det kan hjælpe!
Avatar billede olebole Juniormester
21. maj 2000 - 14:06 #9
needphphelp >> Såvidt jeg er orienteret, er juraen omkring det at installere gd ikke afklaret. Problemet synes at være, at HVIS gif-drengene pludselig skulle rejse krav - som de altså har 'truet' med - vil de have ubehageligt gode chancer for at få kravet igennem.
I hvert fald er det det, der har skræmt en masse udbydere fra at installere det. Om det så er direkte ulovligt, må vi vente med svar på, til der har været kørt en eller flere sager - og det er jeg ikke bekendt med, der er blevet.
/Vh
Avatar billede lassehjorth Nybegynder
21. maj 2000 - 20:18 #10
Problemet er, at DHT's GD slet ikke understøtter GIF(Ingen GD'er efter version 1.6, gør dette), du skal bruge PNG istedet.

Alle de steder der står gif skriver du png istedet
Avatar billede olebole Juniormester
21. maj 2000 - 22:46 #11
Det er vist da rigtigt. Til gengæld kan man vist nok stadig køre med en tidlig version, hvis man kan finde en...eller...? Ved du det?
Avatar billede needphphelp Nybegynder
22. maj 2000 - 09:08 #12
Hej Charistian, kan du ikke lave dit script om så de bruger PNG :) så er de 60 points dine :) det må oxo godt være JPG
Avatar billede Slettet bruger
22. maj 2000 - 13:09 #13
Jeg ved ikke med PNG...

Læs om/download GD libray'et på:
http://www.boutell.com/gd/
Avatar billede needphphelp Nybegynder
22. maj 2000 - 18:34 #14
hvad så med Jpeg :)

Dht, vil ikke instalere det "gamle" lort, og den nyeste version bruger ikke Gif
Avatar billede Slettet bruger
23. maj 2000 - 16:55 #15
PNG:

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

$fil =  "users/".$value. ".txt";
$error =  "error.png";
$img =  "counter.png";

if (file_exists($fil)) {

$fsys = fopen( "$fil",  "r");
$indhold = fgets( "$fsys",  "444");
fclose( "$fsys");

$fsys2 = fopen( "$fil",  "w");
$split = split( "\|", $indhold);
$plus = $split[0]+1;
fputs( "$fsys2",  "$plus");
fclose( "$fsys2");

$img = imagecreatefrompng("$img");
$color = ImageColorAllocate( "$img",  "100",  "100",  "100");

ImageString($img, 3, 58, 13, $plus, $color);

} else {

readfile( "$error");
?>
Avatar billede Slettet bruger
23. maj 2000 - 16:56 #16
UUUUpppssss, sådan:

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

$fil =  "users/".$value. ".txt";
$error =  "error.png";
$png =  "counter.png";

if (file_exists($fil)) {

$fsys = fopen( "$fil",  "r");
$indhold = fgets( "$fsys",  "444");
fclose( "$fsys");

$fsys2 = fopen( "$fil",  "w");
$split = split( "\|", $indhold);
$plus = $split[0]+1;
fputs( "$fsys2",  "$plus");
fclose( "$fsys2");

$img = imagecreatefrompng("$png");
$color = ImageColorAllocate( "$img",  "100",  "100",  "100");

ImageString($img, 3, 58, 13, $plus, $color);

} else {

readfile( "$error");
?>
Avatar billede Slettet bruger
23. maj 2000 - 16:56 #17
Men jeg ved ikke om det virker!! ;-)
Avatar billede needphphelp Nybegynder
23. maj 2000 - 20:05 #18
okay jeg tester det lige :)
Avatar billede needphphelp Nybegynder
23. maj 2000 - 20:14 #19
Hmm. inde på deres hjemmeside står der:

... inside a function ...
gdImagePtr im;
FILE *in;
int red;
/* Let's suppose that photo.png is a scanned photograph with
    many colors. */
in = fopen("photo.png", "rb");
im = gdImageCreateFromPng(in);
fclose(in);
/* Try to allocate red directly */
red = gdImageColorAllocate(im, 255, 0, 0);   
/* If we fail to allocate red... */
if (red == (-1)) {
    /* Find the closest color instead. */
    red = gdImageColorClosestHWB(im, 255, 0, 0);


så det burde være rigtigt :) men jeg prøver lige :)
Avatar billede lassehjorth Nybegynder
25. maj 2000 - 13:01 #20
<?
header( "Content-type: image/png");

$fil =  "users/".$value. ".txt";
$error =  "error.png";
$img =  "counter.png";

if (file_exists($fil)) {

$fsys = fopen( "$fil",  "r");
$indhold = fgets( "$fsys",  "444");
fclose( "$fsys");

$fsys2 = fopen( "$fil",  "w");
$split = split( "\|", $indhold);
$plus = $split[0]+1;
fputs( "$fsys2",  "$plus");
fclose( "$fsys2");

$img = imagecreatefrompng("$img");
$color = ImageColorAllocate( "$img",  "100",  "100",  "100");

ImageString($img, 3, 58, 13, $plus, $color);
Imagepng( "$img");
ImageDestroy( "$img");
} else {
readfile( "$error");
?>
Avatar billede Slettet bruger
25. maj 2000 - 15:06 #21
Hehe, ImagePNG???

Tjek lige manualen ;-)
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