IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Do while ne fonctionne pas


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 45
    Points : 35
    Points
    35
    Par défaut Do while ne fonctionne pas
    Bonjour tlm,


    Je voudrais faire un "loop" avec la fonction Do While mais rien ne s’exécute comme prévu. L'image à sauvegarder et provenant du même chemin d’accès doit avoir un poids différent de 14229 octets. Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    function poid_image($chemin)
    { 
    $poid = filesize($chemin);
    return $poid ;
    }
     
    if(poid_image($nomimg) == 14229)
    do {
     
    function poid_image($chemin)
    { 
    $poid = filesize($chemin);
    return $poid ;
    }
     
    if(poid_image($nomimg) == 14229)
    {
    save_image( $urlscreen , $nomimg );
    }
    } while (poid_image($nomimg) > 14229);
    Le script fonctionne bien sans le Do While mais enregistre les images de 14229 octets.

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Mets la fonction "function poid_image" en dehors de la boucle.

    A+.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par JiB@ Voir le message
    Je voudrais faire un "loop" avec la fonction Do While mais rien ne s’exécute comme prévu.
    Bonjour,
    peux-tu expliquer exactement ce que tu cherches à faire ?
    Là, ce n'est vraiment pas clair ...

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Do while ne fonctionne pas
    Ben voyons

    Sinon, tu as remarqué que ta fonction poid_image est définie deux fois ?
    Dont une fois à l'intérieur de la condition sur son résultat

  5. #5
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Décembre 2008
    Messages : 106
    Points : 152
    Points
    152
    Par défaut
    Citation Envoyé par JiB@ Voir le message
    Bonjour tlm,


    Je voudrais faire un "loop" avec la fonction Do While mais rien ne s’exécute comme prévu. L'image à sauvegarder et provenant du même chemin d’accès doit avoir un poids différent de 14229 octets. Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    function poid_image($chemin)
    { 
    $poid = filesize($chemin);
    return $poid ;
    }
     
    if(poid_image($nomimg) == 14229)
    do {
     
    function poid_image($chemin)
    { 
    $poid = filesize($chemin);
    return $poid ;
    }
     
    if(poid_image($nomimg) == 14229)
    {
    save_image( $urlscreen , $nomimg );
    }
    } while (poid_image($nomimg) > 14229);
    Le script fonctionne bien sans le Do While mais enregistre les images de 14229 octets.

    Merci d'avance pour votre aide.


    Déjà ta fonction poid_image, en plus de comporter une faute d'orthographe dans son nom, est complètement inutile?! Quel est le problème avec l'utilisation directe de filesize ?

    Ensuite, tu ne comprends pas grand-chose à ce que tu fais j'ai l'impression... Tu définis d'abord ta fonction poid_image () en dehors de ta boucle, et après tu la redéfinis à chaque itération de ta boucle ?

    Ensuite dans ta boucle do...while tu testes une égalité qui ne peut être vraie que lors de la première itération. Sinon, la boucle devient infinie ! (bah oui : comment veux - tu que une valeur soit à la fois strictement supérieure à une autre et égale à celle-ci ?!)

    Je te propose de lire un tuto PHP (y en a pas mal sur ce site) avant de commencer. Ou alors d'acheter un bon livre.
    Bon courage

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Ben voyons

    Sinon, tu as remarqué que ta fonction poid_image est définie deux fois ?
    Dont une fois à l'intérieur de la condition sur son résultat
    Même pas vu .

  7. #7
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Tu devrais peut être jetter un oeil sur Cours de PHP 5 : Les fonctions ?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Merci pour l'aide et je félicite surtout les égocentriques qui ont délibérément pollué ce post avec leurs moqueries injustifiées.
    J'avais vu la documentation sur d'autres sites mais j'ai demandé de l'aide sur ce forum. Le script ne fonctionne pas et c'est une mauvaise idée donc vous pouvez fermer ce post.
    Bonne continuation à ceux qui ont voulu m'aider.

  9. #9
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Décembre 2008
    Messages : 106
    Points : 152
    Points
    152
    Par défaut
    Citation Envoyé par JiB@ Voir le message
    Merci pour l'aide
    mais je t'en prie le forum est fait pour ça

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par JiB@ Voir le message
    Merci pour l'aide et je félicite surtout les égocentriques qui ont délibérément pollué ce post avec leurs moqueries injustifiées.
    J'avais vu la documentation sur d'autres sites mais j'ai demandé de l'aide sur ce forum. Le script ne fonctionne pas et c'est une mauvaise idée donc vous pouvez fermer ce post.
    Bonne continuation à ceux qui ont voulu m'aider.
    C'est bien dommage que tu sois susceptible, que tu prennes les choses de façon peut-être un peu trop personnelle et formelle, que tu ne sembles pas connaitre le sens du mot égocentrique et que tu n'ai pas, malgré ton ancienneté d'inscription, compris certaines choses :

    * Pour obtenir des réponses pertinentes, la moindre des choses est d'exposer clairement son problème : ce que l'on aimerait obtenir, le fonctionnement que l'on a envisagé et les résultats obtenus.
    * Pour étayer le tout, une portion de code en rapport avec ce qui précède.

    Dans ton cas, tu peux relire ton premier message, on y comprend pas grand chose et dans le peu qu'on peu comprendre, la portion de code n'est sensée faire que le contraire :
    doit avoir un poids différent de 14229 octets
    or ton code (dont nous ne faisons que relever certaines incohérences) n'est exécuté que si le poids est égal à 14229.

    Alors ensuite, c'est vrai que sur ce forum, certains dont je fais partie (et je le revendique) aiment bien placer un peu d'humour, ne serait-ce qu'en attendant tes précisions.

Discussions similaires

  1. Boucle do loop while qui ne fonctionne pas
    Par nahamed dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/04/2015, 11h52
  2. Une boucle While qui ne fonctionne pas
    Par seremei dans le forum Langage
    Réponses: 6
    Dernier message: 25/10/2012, 11h33
  3. test while ne fonctionne pas
    Par theprince009 dans le forum Débuter
    Réponses: 3
    Dernier message: 23/12/2011, 06h57
  4. Fonction While {} qui ne fonctionne pas
    Par zoom61 dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2006, 12h17
  5. boucle While ne fonctionne pas ?
    Par beegees dans le forum Langage
    Réponses: 3
    Dernier message: 07/08/2006, 20h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo