[php] controle of gdlib aanstaat

Pagina: 1
Acties:

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 04-09 04:51
Ik wil controleren of gdlib aanstaat. Heb dit script ervoor gemaakt. Wanneer de gdlib nu wel aan staat dan wordt mooi weergeven "GDLib staat aan", maar als deze uit staat krijg ik niets te zien, terwijl er eigenlijk "GDLib staat uit" moet komen te staan. Wat doe ik fout?
PHP:
1
<?$im = @imagecreate (1, 1);if($im == true)        echo "GDLib staat aan";else        echo "GDLib staat uit";?>

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Probeer het eens hiermee :)

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Kan je niet beter kijken naar de output van de 'beschikbare functies functies'?

Bijv die link van thomaske :)

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 04-09 04:51
Had weer eens niet gekeken dan mijn neus lang is!!! STOM van me |:(. Kan me wel voor mij kop slaan. Dit stond bij de function.
PHP:
1
<?if(function_exists('imagetypes')) echo 'GD is loaded';else echo 'GD is not loaded';?>

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 09-08 19:19
Je wou tch kijken of de extensie geladen was en niet of er een functie met die naam geregistreerd is :? Controleren of een bepaalde extensie geladen is, gaat nl. met extension_loaded()

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 04-09 04:51
Op donderdag 13 juni 2002 14:54 schreef freak007 het volgende:
Je wou tch kijken of de extensie geladen was en niet of er een functie met die naam geregistreerd is :? Controleren of een bepaalde extensie geladen is, gaat nl. met extension_loaded()
Ik wil weten of GDLib is geinstalleerd op de server. Op mijn eigen pc heb ik namelijk wel GDLib geinstalleerd. Waar mijn website wordt gehost heeft GDLib uitstaan. Nu wil ik eerst vantevoren controleren of GDLib is geinstalleerd zo ja dan mag mijn script pas worden uitgevoerd.

Heb nu 2 verschillende werkende versie's

Versie 1:
PHP:
1
<?if (extension_loaded('gd'))        echo "GDLib staat aan";else        echo "GDLib staat uit";?>

Versie 2:
PHP:
1
<?if(function_exists('imagetypes'))        echo "GDLib staat aan";else        echo "GDLib staat uit"?>

Welke van de 2 is het beste om te gebruiken?

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Op donderdag 13 juni 2002 14:58 schreef frankschers het volgende:
[..]
Welke van de 2 is het beste om te gebruiken?
even benchmarken zou ik zeggen! ;)

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 09-08 19:19
Ik weet niet hoe het zit met het kunnen detecteren van gd vs. gd2 met extension_loaded en of je dat ook wil. Mijn voorkeur zou uitgaan naar extension_loaded eigenlijk

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 04-09 04:51
Op donderdag 13 juni 2002 15:06 schreef freak007 het volgende:
Ik weet niet hoe het zit met het kunnen detecteren van gd vs. gd2 met extension_loaded en of je dat ook wil. Mijn voorkeur zou uitgaan naar extension_loaded eigenlijk
En waarom zou je voor extension_loaded kiezen? Wat bedoel je met gd2? Is dat een nieuwe versie van gd?

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 04-09 04:51
Op donderdag 13 juni 2002 15:05 schreef thomaske het volgende:

[..]

even benchmarken zou ik zeggen! ;)
Oke heb ik gedaan. Allebei ongeveer hetzelfde (in seconde)
Versie 1:
0.0004420280456543
0.0004270076751709
0.0004580020904541
0.00043010711669922
0.00044694881439209

Versie 2:
0.0004429817199707
0.00044000148773193
0.00044500827789307
0.00044000148773193
0.0004349946975708

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 12:47
Benchmarken lijkt me hier compleet zinloos. Er is nooit sprake geweest van een performance issue. Benchmarken doe je alleen als je wilt optimaliseren, optimaliseren doe je alleen als je een probleem met performance tegenkomt. Daarbij werd gevraagd wat BETER was; niet wat SNELLER was. Bij het schrijven van goede code is snelheid vaker niet dan wel een criterium.

Welke van de twee functies je gebruikt (om te checken of een functie bestaat of de GD extentie bestaat), hangt af van wat je wilt weten. Je doet in je eerste post vermoeden dat je wilt weten of de GD extentie bestaat, dus is het niet meer dan logisch dat je de daarbij behorende functie gebruikt.

Denk er echter wel aan, dat de aanwezigheid van de GD extentie niet garandeert dat alle mogelijke GD functies bestaan. Er zijn namelijk nogal wat versies, waarbij soms PNG niet beschikbaar is, soms GIF niet, soms allebei wel, soms allebei niet. Als het je er om gaat dat die functies gedefinieerd zijn (en het maakt je niet zoveel uit of GD verder geladen is of niet; ze zouden ook best door een andere extentie aangeboden mogen worden), dan wil je natuurlijk de functie gebruiken die checked of die functies gedefinieerd zijn.

  • Vulpecula
  • Registratie: April 2001
  • Laatst online: 04-09 04:51
Op donderdag 13 juni 2002 15:59 schreef Soultaker het volgende:
Welke van de twee functies je gebruikt (om te checken of een functie bestaat of de GD extentie bestaat), hangt af van wat je wilt weten. Je doet in je eerste post vermoeden dat je wilt weten of de GD extentie bestaat, dus is het niet meer dan logisch dat je de daarbij behorende functie gebruikt.
En welke is de daarbij behorende functie? Ik vind zelf versie 1
Denk er echter wel aan, dat de aanwezigheid van de GD extentie niet garandeert dat alle mogelijke GD functies bestaan. Er zijn namelijk nogal wat versies, waarbij soms PNG niet beschikbaar is, soms GIF niet, soms allebei wel, soms allebei niet. Als het je er om gaat dat die functies gedefinieerd zijn (en het maakt je niet zoveel uit of GD verder geladen is of niet; ze zouden ook best door een andere extentie aangeboden mogen worden), dan wil je natuurlijk de functie gebruiken die checked of die functies gedefinieerd zijn.
Snap niet precies wat je hiermee bedoelt. Kun je een voorbeeldje geven?

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 03-09 17:11

GraasGast

Analogue Heaven

Afhankelijk van wat je nodig hebt, zou je kunnen checken op de volgende functies: (beetje voor de hand liggend, maar ach)

• imagejpeg() = jpeg is geinstalleerd
• imagepng() = png is geinstalleerd
• imagegif() = gif is geinstalleerd
• imagecreatetruecolor() = gd2 is geinstalleerd

andere dingen kan je mischien zelf verzinnen

zie ook
http://php.mirror.widexs.nl/manual/en/ref.image.php

mocht je bij bovenstaande checks overal een TRUE nodig hebben, kijk dan ff in dit topic:
[topic=521020]

Verwijderd

Combineer de 2 controles.
Dan weet je zeker dat het goed gaat lijkt mij.
Iets performance verlies, maar ach zoveel zal dat ook weer niet zijn.

  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 25-08 15:24
• imagejpeg() = jpeg is geinstalleerd
• imagepng() = png is geinstalleerd
• imagegif() = gif is geinstalleerd
• imagecreatetruecolor() = gd2 is geinstalleerd
Check ook deze page even. Daar zie je dat function_exists calls op extenties niet altijd werken. De functies bestaan namelijk wel, maar ze doen het niet omdat er andere configuratie shit voor nodig is om ze te laten werken waar PHP zelf geen invloed op heeft.
Note that a function name may exist even if the function itself is unusable due to configuration or compiling options (with the image functions being an example).

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 03-09 17:11

GraasGast

Analogue Heaven

Op vrijdag 14 juni 2002 22:34 schreef goalgetter het volgende:

[..]

Check ook deze page even. Daar zie je dat function_exists calls op extenties niet altijd werken. De functies bestaan namelijk wel, maar ze doen het niet omdat er andere configuratie shit voor nodig is om ze te laten werken waar PHP zelf geen invloed op heeft.
[..]
aha...dat zou best kunnen ja. In dat geval zou mijn idee dus niet werken...jammer :z
Pagina: 1