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 :

Une fonction qui déclenche l'exécution d'un autre fichier en PHP en parallèle et indépendant du premier [PHP 5.5]


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Aprenti
    Inscrit en
    Mai 2015
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Aprenti

    Informations forums :
    Inscription : Mai 2015
    Messages : 199
    Par défaut Une fonction qui déclenche l'exécution d'un autre fichier en PHP en parallèle et indépendant du premier
    Bonjour,

    J'ai fais un condition avec switch dans mon fichier index.php:

    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
    $code = '11';
    $file11 = 'code11.php';
    $file22 = 'code22.php';
     
     
     
     
     
    	switch($code)
    		{
    			case '11':
    				//Arrêter de continuer sur ce fichier et lire et exécuter le fichier code11.php
    				break;
     
    			case '22':
    				//Arrêter de continuer sur ce fichier et lire et exécuter le fichier code22.php
    				break;
     
    			default:
    				// continuer d'exécuter ce fichier
     
    				echo "<br>1re étape sans code d'exception";
    				break;
    		}
     
    		echo "<br>On continue d'exécuter le fichier index.php! : <br> C’est bon  si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!";
    Dans mon fichier, code11.php, il y a le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "execution du fichier code11.php <br>";
    et dans code22.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "execution du fichier code22.php <br>";
    Si le code est '11' --> j'aimerais exécuter le fichier code11.php sans continuer d'exécuter le reste du fichier index.php.
    Il faut seulement voir le message suivant :

    execution du fichier code11.php

    Si le code est '22' :
    execution du fichier code22.php


    Et s'il y a un autre code, par exemple 159 :

    1re étape sans code d'exception : On continue d'exécuter le fichier index.php!
    On continue d'exécuter le fichier index.php! :
    C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!


    Si j'utilise la fonction require() ou include() avec die() :
    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
    $code = '11';
    $file11 = 'code11.php';
    $file22 = 'code22.php';
     
     
     
     
     
    	switch($code)
    		{
    			case '11':
    				//Arrêter de continuer sur ce fichier et lire et exécuter le fichier code11.php
    				//  failed to open stream: Invalid argument :
    				//fopen("G:\Vacances\code11.php", "r");
    				require($file11);
    				die();
    				break;
     
    			case '22':
    				//Arrêter de continuer sur ce fichier et lire et exécuter le fichier code22.php
    				//file_get_contents('G:\Vacances\code22.php');
    				include ($file22);
    				die();
    				break;
     
    			default:
    				// continuer d'exécuter ce fichier
     
    				echo "<br>1re étape sans code d'exception : On continue d'exécuter le fichier index.php!";
    				break;
    		}
     
    		echo "<br>On continue d'exécuter le fichier index.php! : <br> C’est bon  si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!";
    Cela marche bien. Mais je ne pense pas que c'est une bon solution. Parce que si la valeur de mon variable $code vient d'une tableau (array)....
    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
    $file11 = 'code11.php';
    $file22 = 'code22.php';
    $codes = array(22, 11, 457, 159);
     
    foreach ($codes as $code) {
    	switch($code)
    			{
    				case '11':
    					require($file11);
    					die();
    					break;
     
    				case '22':
    					include ($file22);
    					die();
    					break;
     
    				default:
    					// continuer d'exécuter ce fichier
     
    					echo "<br>1re étape sans code d'exception : On continue d'exécuter le fichier index.php!";
    					break;
    			}
     
    	echo "<br>On continue d'exécuter le fichier index.php! : <br> C’est bon  si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!";
    	}
    À cause de die(), après le premier cas de code [22] on arête le traitement et il y a seulement le message suivant :
    execution du fichier code22.php
    C’est normal! Et si j'enlève die() :
    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
    $file11 = 'code11.php';
    $file22 = 'code22.php';
    $codes = array(22, 11, 457, 159);
     
    foreach ($codes as $code) {
    	switch($code)
    			{
    				case '11':
    					require($file11);
    					//////   die();
    					break;
     
    				case '22':
    					include ($file22);
    					//////   die();
    					break;
     
    				default:
    					// continuer d'exécuter ce fichier
     
    					echo "<br>1re étape sans code d'exception : On continue d'exécuter le fichier index.php!";
    					break;
    			}
     
    	echo "<br>On continue d'exécuter le fichier index.php! : <br> C’est bon  si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!";
    	}
    Et ce qui s'affiche :
    execution du fichier code22.php
    On continue d'exécuter le fichier index.php! :
    C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!

    execution du fichier code11.php
    On continue d'exécuter le fichier index.php! :
    C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!


    1re étape sans code d'exception : On continue d'exécuter le fichier index.php!
    On continue d'exécuter le fichier index.php! :
    C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!


    1re étape sans code d'exception : On continue d'exécuter le fichier index.php!
    On continue d'exécuter le fichier index.php! :
    C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!
    Comment puis-je faire pour que lorsqu'il y a le code 11 ou 22, il faille revenir au début du fichier index.php au lieu de continuer l'exécution du fichier index.php

    Autrement dit il faudrait obtenir le message suivant :
    execution du fichier code22.php



    execution du fichier code11.php



    1re étape sans code d'exception : On continue d'exécuter le fichier index.php!
    On continue d'exécuter le fichier index.php! :
    C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!




    1re étape sans code d'exception : On continue d'exécuter le fichier index.php!
    On continue d'exécuter le fichier index.php! :
    C’est bon si les valeurs du code ne sont pas 11 ou 22 sinon ce n'est pas correct!
    Est-ce qu'il faut utiliser une autre fonction ?
    Une fonction qui déclenche l'exécution d'un autre fichier en PHP en parallèle et indépendant d'index.php ?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu n'as qu'a mettre la suite du code dans un autre fichier et avoir ainsi la même logique dans les 3 cas.
    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
     
    foreach ($codes as $code) {
    	switch($code)	{
    				case '11':
    					require($file11);
    					break;
     
    				case '22':
    					include ($file22);
    					break;
     
    				default:
                                            include('suite_traitement.php');
    					break;
    	}
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Homme Profil pro
    Aprenti
    Inscrit en
    Mai 2015
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Aprenti

    Informations forums :
    Inscription : Mai 2015
    Messages : 199
    Par défaut
    Salut sabotage,
    C'est simple que cela !

    Bravo et Excelent.

    Merci cette idée sympa et simple

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/01/2009, 11h49
  2. Créer une fonction mathématique pendant l'exécution
    Par zeprogrameur dans le forum Langage
    Réponses: 5
    Dernier message: 09/07/2004, 11h36
  3. Réponses: 14
    Dernier message: 09/04/2004, 13h44
  4. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13
  5. [langage] Creer une fonction qui met en majuscule ?
    Par Cyber@l dans le forum Langage
    Réponses: 6
    Dernier message: 04/12/2003, 18h44

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