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 :

Comment simplifier ce code en une fonction simple ? [Débutant(e)]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Par défaut Comment simplifier ce code en une fonction simple ?
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    if(count($resu_etu) > 0) {
     
    	    //sauvegarde l'image en PNG	
                $image = base64_decode(substr($_POST['photo'], strpos($_POST['photo'], ",")+1));
                $fp = fopen(PHOTOS_DIR.$resu_etu[0]["numEtudiant"].'.png', 'wb');
                fwrite($fp, $image);
                fclose($fp);
    	    //ouvre le PNG
        	    $imagepng = imagecreatefrompng(PHOTO_DIR.$result_etu[0]["numEtudiant"].'.png');
    	    //convertit le PNG en JPG
    	    imagejpeg($imagepng, PHOTO_DIR.$result_etu[0]["numEtudiant"].'.jpg', 100);
    	    //détruit le PNG
                unlink(PHOTOS_DIR.$resu_etu[0]["numEtudiant"].'.png');
     
                echo "0";
        }
     
        else {
            $oDatabase->connectionSMS();
            $result_etu = $oDatabase->fetchDb($query);
            if(count($result_etu) > 0) { // => j'ai trouvé quelque chose
     
                //sauvegarde l'image en PNG 
                $image = base64_decode(substr($_POST['photo'], strpos($_POST['photo'], ",")+1));
                $fp = fopen(PHOTOS_DIR.$result_etu[0]["numEtudiant"].'.png', 'wb');
                fwrite($fp, $image);
                fclose($fp);
                //ouvre le PNG
                $imagepng = imagecreatefrompng(PHOTO_DIR.$resu_etu[0]["numEtudiant"].'.png');
                //convertit le PNG en JPG
                imagejpeg($imagepng, PHOTO_DIR.$resu_etu[0]["numEtudiant"].'.jpg', 100);
                //détruit le PNG
                unlink(PHOTOS_DIR.$result_etu[0]["numEtudiant"].'.png');
     
                echo "0";            
            }
            else {
                echo "1";
            }
        }
    EDIT MODERATION : VEUILLEZ PRENDRE CONNAISSANCE DE CECI

  2. #2
    Membre Expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Manque toujours un truc, allez je vais te donner un indice :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function testPolitesse($message) {
        if ($message contient 'bonjour' AND $message contient 'merci') {
            return UneRéponseALaQuestion;
        } else {
            return 'Sois poli on verra après';
        }
    }

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Allez, les gars, soyez gentils avec le nouveau

    Bon, pour répondre à la question d'origine : on ne peut pas "simplifier" un code juste comme ça. Le truc évident, c'est que tu as 2 fois le même bloc de code. Tu peux donc le mutualiser dans une fonction.
    A part ça, il faut savoir ce que le code doit faire, est-ce qu'il le fait effectivement, pourquoi vouloir le "simplifier", et d'ailleurs que veux-tu dire par "simplifier".
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Par défaut
    Meric celira

    En fait on m'a demandé de creer une fonction a partir de ce code !

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Un peu de docs sur les fonctions :
    PHP - Manual : les fonctions
    PHP : Le tutoriel pour grands débutants pressés - V-2. Les fonctions (tiens, tiens, dendrite, ça t'a rappelle pas quelque chose )
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Elle est nulle la meuf qu'a fait le tuto, elle parle même pas des return true, c'est pourtant bien pratique.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  7. #7
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    C'est ta première fonction ? C'est émouvant.
    Ou bien c'est un exercice pédagogique ?

    Oops, j'enlève ma solution si c'est le second cas !
    Une piste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function fromPngToJpg($image){
       /*
       Blablabla, toutes tes instructions qui jouent avec le paramètre...
     
     
       */
       //et en dernière ligne, ça retournera true si tout se passe bien...
       return true;
    }
    //Ce qui te permettra de la convoquer ainsi
    if(fromPngToJpg($png)){
       echo 'super, la photo est stockée en jpg sur le serveur.';
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/02/2009, 01h36
  2. Réponses: 1
    Dernier message: 09/01/2009, 15h40
  3. [C#]Comment récupérer le code d'une Exception ?
    Par joujoukinder dans le forum C#
    Réponses: 18
    Dernier message: 30/07/2007, 01h47
  4. [Tableaux] demande de code pour une fonction.php
    Par carmen256 dans le forum Langage
    Réponses: 4
    Dernier message: 21/01/2006, 17h22
  5. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41

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