Petite question en php a propos de @

Discussion dans 'Web, design' créé par Tifox, 2 Juin 2005.

Statut de la discussion:
Fermée.
  1. Offline
    Tifox ou pas
    Aujourd'hui, en m'attaquant un a la librairie GD (celle pour les images), j'ai découvert dans des exemples qu'il y avaitparfois un "@" devant certaines fonctions, mais qu'on le mette ou pas, ça ne change rien.
    Après avoir un peu cherché (pas évident avec une seule lettre ultra utilisée...), je n'ai pas vraiment pu trouver a quoi servait ce "@".

    Donc je vous pose la question : a quoi sert ce @ qu'il y a parfois devant certaines fonctions.

    un petit exemple :
    Tifox, 2 Juin 2005
    #1
  2. Offline
    noLain www.wearewise.be
    c'est pour ne pas afficher l'erreur, si il y en a une.
    Et cela fonctionne avec toutes les fonctions php.
    noLain, 3 Juin 2005
    #2
  3. Offline
    guslinux Gamerz'ien
    exact :) ... c bien utile parfois :D
    guslinux, 3 Juin 2005
    #3
  4. Offline
    null ose();
    Tout a été dit mais attention cependant, il faut pas mettre des "@" partout car si le script ne fonctionne pas, sans message d'erreur on ne peut pas savoir où il y a un quic
    null, 3 Juin 2005
    #4
  5. Offline
    Tifox ou pas
    Effectivement, ça peu être très utile.

    Merci
    Tifox, 3 Juin 2005
    #5
  6. Offline
    MbK_ Etudjant
    donnez un peu des exemple d'ou ca peu etre utile?

    (je reve ou ds le mysql_fetch_array() y'a un @ devant la plupart du temps :x)
    MbK_, 3 Juin 2005
    #6
  7. Offline
    Ezekiel ! Elite
    ben ici c'est parce que la fonction la n'est pas supportée par tout les hébergeurs... enfin je pense :)
    Moi je l'utilise que pour ce type de fonction en tout cas... car si t'en met partout apres pour trouver la faute c'est un peu chaud :p
    Ezekiel !, 3 Juin 2005
    #7
  8. Offline
    Tifox ou pas
    J'ai pas d'idée précise comme ça, mais si tu veux faire un code qui gère bien les erreurs, ça peut servir a laisser passer une erreur qui n'est pas critique sans que ça fasse un laid message.

    Mais bon, je ne me suis pas penché sur la question, je ferai ça quand mon site marchera convenablement.
    Tifox, 3 Juin 2005
    #8
  9. Offline
    null ose();
    Par exemple dans PHPMyAdmin, quand tu peux entrer une commande SQL, le script va tout traiter en mettant des @ (en vrai il coupe le rapport d'erreur) et va lancer des fonctions qui vont vérifier le résultat de la commande etc...
    null, 3 Juin 2005
    #9
  10. Offline
    guslinux Gamerz'ien
    le @ sert sourtout à éviter d'avoir un msg d'erreur quand le résultat de ta requete est null :D pour le reste, il vaut mieux gerer les codes d'erreurs renvoyés pas MySQL...
    guslinux, 4 Juin 2005
    #10
  11. Offline
    MbK_ Etudjant
    ok ok parfait :)

    je me rend compte que j'aurais pu l'utiliser.

    Mais seulement, si il y a un probleme, le reste du script fonctionne? Ou ca ne va pas mais c'est juste qu'il n'y a pas d'erreur?
    MbK_, 4 Juin 2005
    #11
  12. Offline
    sebge2 Touriste
    oui le reste du script fonctionne .... personellement moi je met tjs des @
    et je met if(!fonction(valeur)) erreur.="erreur dans la fonction bidule";
    je gère moi meme les erreurs c'est plus propre :)
    sebge2, 4 Juin 2005
    #12
  13. Offline
    j0k3r_n0ir ex membre
    On trouve souvent dans des scripts de newsletter, en haut de la page qui envoie tous les mails :
    @set_time_limit 1000

    Cette fonction permet de fixer le temps maximum d'exécution d'un script qui normalement est bloqué à 30s, si mes souvenirs sont bons.
    Et vu que la plupart des scripts de newsletter font un pauvre while pour envoyer tous les mails, ça peut prendre souvent du temps !

    Et donc (pour en revenir au sujet :p), cette fonction est quasiment tout le temps désactivé chez les hébergeurs et ça permet de ne pas avoir une belle erreur qui dit que la fonction est désactivé ;o)
    j0k3r_n0ir, 14 Juin 2005
    #13
Statut de la discussion:
Fermée.