7
votes

Façon de vérifier si la variable est une ressource d'image GD valide?

J'ai une classe qui accepte une ressource d'image GD comme l'un de ses arguments. Pour autant que je sache, il n'ya aucun moyen de taper cela comme il s'agit d'une ressource et non d'un objet. Existe-t-il un moyen de valider si l'argument fourni est une ressource d'image GD valide (en dehors de la fonctionnalité supplémentaire en utilisant cette défaillance de la ressource)?

PS: S'il vous plaît ne mentionnez pas ImageMagick dans votre réponse ...


0 commentaires

3 Réponses :


9
votes

Le get_resource_type fonctionner doit vous aider à sortir. Compte de code d'écriture et voir ce qu'il revient, je ne suis pas sûr de ce que cela va dire pour une ressource GD, vous êtes donc seul là-bas. Devrait être un bon point de départ, cependant!


1 commentaires

Merci. C'est exactement ce dont j'ai besoin.



9
votes

get_resource_type () renvoie "gd" si la ressource est une image GD, c'est ce dont vous avez besoin.


1 commentaires

Merci! Steve était tout de même cependant.



4
votes

commençant par PHP 8.0, get_resource_type avec un argument d'image gd , jette un erreur fatale :

Erreur fatale PHP: non capturé TypeError: get_resource_type (): argument n ° 1 ($ ressource) doit être de type ressource de type, GDimage donné.

Nous devons utiliser get_class () fonction. Documentation PHP États:

Passez explicitement nul alors que l'objet n'est plus autorisé à partir de PHP 7.2.0. Le paramètre est toujours facultatif et appeler get_class () sans paramètre de l'intérieur d'une classe fonctionnera, mais le passage de NULL émet maintenant un avis e_warning.

Donc, la bonne façon de vérifier cela, dans PHP 8.0 devrait être: xxx


0 commentaires