Pendant le développement de PHP, c'est une opération courante pour enregistrer des images au format PNG à l'aide de la fonction ImagePng () . Cependant, certains développeurs peuvent rencontrer des erreurs pendant l'utilisation, ce qui entraîne des images qui ne sont pas générées avec succès. Cet article introduira en détail les raisons pour lesquelles les erreurs ImagePng () peuvent être causées et fournir des solutions correspondantes.
Les situations qui provoquent des erreurs ImagePng () incluent généralement les catégories suivantes:
La taille de l'image dépasse la limite du serveur
Le dossier de destination n'a pas d'autorisation d'écriture
La bibliothèque de traitement d'image GD n'est pas activée dans l'environnement PHP
Les analyses suivantes et fournit des solutions spécifiques une par une.
Lorsque le fichier image est grand, la limite de téléchargement maximale autorisée dans le fichier de configuration PHP peut être dépassée, ce qui entraîne le non-génération du fichier PNG.
Vous pouvez vérifier ou ajuster les éléments de configuration suivants dans le fichier php.ini :
post_max_size
upload_max_filesize
Si vous ne pouvez pas modifier directement Php.ini , vous pouvez le définir dynamiquement dans le script:
ini_set('post_max_size', '20M');
ini_set('upload_max_filesize', '20M');
Le code ci-dessus définit la limite de téléchargement à 20 Mo.
Si le dossier cible n'est pas écrit, ImagePng () échouera lorsque vous essayez d'enregistrer le fichier image. Pour s'assurer que la fonction s'exécute normalement, il est nécessaire de s'assurer que les répertoires pertinents ont des autorisations d'écriture.
Système Linux:
Les autorisations peuvent être accordées via le terminal en utilisant la commande suivante:
chmod 777 path/to/folder
Système Windows:
Cliquez avec le bouton droit sur le dossier cible, sélectionnez "Propriétés" → "Sécurité" → "Modifier" et ajouter "écrire" au groupe d'utilisateurs correspondant.
La fonction ImagePng () repose sur la bibliothèque GD de PHP pour traiter les fichiers d'image. Si la bibliothèque GD n'est pas installée ou non activée sur le serveur, l'erreur fatale suivante se produira:
Erreur fatale: appel à la fonction non définie imagepng ()
Bibliothèque GD d'installation du système Linux:
yum install php-gd
Activer la bibliothèque GD sur le système Windows:
Ouvrez le fichier de configuration php.ini , trouvez l'élément de configuration suivant et supprimez le symbole de commentaire ";":
;extension=php_gd2.dll
Changez-le en:
extension=php_gd2.dll
Ensuite, redémarrez le serveur Apache pour rendre la configuration en vigueur.
Lorsque ImagePng () signale une erreur, ne paniquez pas. Vérifiez d'abord les trois aspects suivants:
Si l'image dépasse la limite de téléchargement;
Si le chemin de sauvegarde a une autorisation d'écriture;
Si la bibliothèque GD est activée dans l'environnement PHP.
Prendre des mesures ciblées en fonction de la situation spécifique peut générer avec succès des images de format PNG pour assurer le fonctionnement fluide du projet.