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 :

probleme de lecture fichier txt


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Par défaut probleme de lecture fichier txt
    Bonjour,
    hier j'ai poster un message qui concernant la copie de données d'un fichier txt n’ayant pas eu de réponse et ayant fait un cour sur les expression régulière je me suis dit que cela pouvais être ma solution

    je me suis donc lancer dans ce code,

    je copie une page web et je la colle dans un text aera pour le mettre en fichier txt appeler data.txt ca c'est ok!

    dans la page suivante ( le code ci-dessous ) j'ouvre le fichier data.txt en mode lecture et je commence a faire une recherche du mot Round 6 foi.
    Si le mot Round y est 6 foi je copie du premier caractère du fichier data.txt jusque Round 2 et de Round 6 jusque la fin du fichier data.txt dans un autre fichier txt appeler dest.txt puis je ferme le fichier data.txt et j'affiche un message de confirmation avec ceux qu'il a copier.
    dans le cas ou le fichier data.txt ne contient pas 6 Round dans sont contenu alors on passe au IF suivant et ainsi de suite jusque a Round1.

    actuellement mon code semble faire la boucle puisqu'il me sort "erreur lors de la copie du RC" par contre il ne copie rien dans dest.txt en fait je ne sais pas vraiment ceux qu'il fait ceux qu'il y a de sur c'est qu'il ne fait pas ceux que je lui demande
    j'ai essaye de mettre le $data contenu dans le preg_match et preg_replace ' ' , " ", sans rien du tout rien ne semble fonctionner (dans le code suivant les trois premier preg match et replace sont comme cité dans les essai effectuer.)
    donc si quelqu'un pouvez me mettre sur la voie ou m'aider SVP je l'en remercie grandement

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    <?php
    // Fichier souhaité
    $Cible = "data.txt";
     
    // Ouverture du fichier
    $data = @fopen($Cible, "r");
     
    // debut de la boucle en if pour connaitre le nombre de round contenu dans data
    if( preg_match('#(Round){6}#', "$data")) 
    {
     
    	$variable = preg_replace('#(.Round 2)(^Round 6).#', 'img1 $1 img2 $2',"$data");  
    	// ecrire les lignes copier dans un fichier dest.txt
    	file_put_contents( 'dest.txt', $variable);
    	// Fermeture du fichier
    	@fclose($data);
    	echo 'Le RC contient 6 Round<br> ' . $variable . '';
     
    }
    else
    {
    	if( preg_match('#(Round){5}#', "$data"))
    	{
     
    		$variable = preg_replace('#(.Round 2)(^Round 5).#', 'img1 $1 img2 $2',"$data");
    		// ecrire les lignes copier dans un fichier dest.txt
    		file_put_contents( 'dest.txt', $variable);
    		// Fermeture du fichier
    		@fclose($data);
    		echo 'Le RC contient 5 Round<br> ' . $variable . ''; 
     
    	}
    	else
    	{
    		if( preg_match('#(Round){4}#', $data))
    		{
     
    			$variable = preg_replace('#(.Round 2)(^Round 4).#', 'img1 $1 img2 $2',$data);
    			// ecrire les lignes copier dans un fichier dest.txt
    			file_put_contents( 'dest.txt', $variable);
    			// Fermeture du fichier
    			@fclose($data);
    			echo 'Le RC contient 4 Round<br> ' . $variable . ''; 
     
    		}
    		else
    		{
    			if( preg_match('#(Round){3}#', "$data"))
    			{
     
    				$variable = preg_replace('#(.Round 2)(^Round 3).#', 'img1 $1 img2 $2','$data');
    				// ecrire les lignes copier dans un fichier dest.txt
    				file_put_contents( 'dest.txt', $variable);
    				// Fermeture du fichier
    				@fclose($data);
    				echo 'Le RC contient 3 Round<br> ' . $variable . '';
     
    			}
    			else
    			{
    				if( preg_match('#(Round){2}#', "$data"))
    				{
     
    					$variable = preg_replace('#(.Round 2)(^Round 2).#', 'img1 $1 img2 $2','$data');
    					// ecrire les lignes copier dans un fichier dest.txt
    					file_put_contents( 'dest.txt', $variable);
    					// Fermeture du fichier
    					@fclose($data);
    					echo 'Le RC contient 2 Round<br> ' . $variable . ''; 
     
    				}
    				else
    				{
    					if( preg_match('#(Round){1}#', "$data"))
    					{
     
    						$variable = preg_replace('#.#', 'img1 $1 img2','$data');
    						// ecrire les lignes copier dans un fichier dest.txt
    						file_put_contents( 'dest.txt', $variable);
    						// Fermeture du fichier
    						@fclose($data);
    						echo 'Le RC contient 1 Round<br> ' . $variable . ''; 
    					}
    					else
    					{
    						echo 'erreur lors de la copie du RC';
    					}
    				}
    			}
    		}
     
    	}
    }

  2. #2
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Essaye en utilisant la fonction file_​get_​contents pour lire le fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Lecture du fichier
    $data = file_get_contents($Cible);
    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]

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2015
    Messages : 93
    Par défaut
    bonjour et merci pour la réponse effectivement j'avais oublier de lire le fichier classique j’oublie toujours un truc
    après test
    mon fichier dest.txt ne contient que : img1 img2img1 img2img1 img2img1 img2img1 img2

    et quand je lance la page il me dit :

    Le RC contient 1 Round
    img1 img2img1 img2img1 img2img1 img2img1 img2

    alors que dans mon fichier data il en contient 6

    n’ayant pas encore tester les expression régulière sauf dans ce cas précis je me pose une question sur ceux que j'ai fait...

    sachant que je souhaite copier tout du premier caractère jusque Round 2 du fichier data.txt
    et en fonction du nombre de round, copier le dernier round en partant de Round X( X pour le dernier nombre qu'il y a dans le fichier jusque au dernier caractère du fichier data.txt

    es ce que ma formule écrite dans le code est bonne ?? sinon peu on m’orientè sur mon erreur svp
    merci de la réponse

Discussions similaires

  1. Réponses: 17
    Dernier message: 07/05/2008, 11h16
  2. lecture fichier txt
    Par stephaneamadeus dans le forum C
    Réponses: 8
    Dernier message: 28/04/2006, 19h47
  3. Lecture fichier txt
    Par licorne dans le forum C
    Réponses: 3
    Dernier message: 03/04/2006, 18h14
  4. Probleme de lecture fichier
    Par calimero642 dans le forum Langage
    Réponses: 4
    Dernier message: 28/03/2006, 11h38
  5. [langage] prob lecture fichier .txt
    Par martijan dans le forum Langage
    Réponses: 3
    Dernier message: 16/07/2003, 12h08

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