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 :

Concatenation de plusieurs fichiers


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Concatenation de plusieurs fichiers
    bonjour,

    je dois concatener le contenu de plusieurs fichiers textes dans un seul fichier texte.

    Les fichiers de bases sont dans un dossiers et le scripts PHP et le fichier final avec les concatenation sont dans un autre dossier.

    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
    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
     
    <?php
     
    //déclaration du délimiteur pour les explode
    $delim = "\n";
     
    // Creation du fichier concat.txt
    $concat = fopen("concat.txt", "w+");
     
    // Lecture des fichiers du répertoire courant
    $dir = opendir('/usr/local/apache/htdocs/cgi-local/jobs/autonotify/');
     
    while (false !== ($files = readdir($dir))) 
    {
    	// Ne lit que les fichiers ayant pour extension .data
    	if (eregi(".data$",$files))
    	{
    	$data = explode($delim,$files);
    		foreach ($data as $fichier)
    		{
    			// Ouverture du fichier
    			$open = fopen($fichier,"r"); 
    		// Verifie si le fichier existe
    		if (file_exists($files)) 
    		{
    			$open = fopen($files,"r"); 
    			$lecture = fread($open, filesize($files));
    			$octet=filesize("$files");
    				if ($octet==0)
    				{
    				echo "<h3>Le fichier " .$files. " est vide</h3>";
    				} 
    			$tableau = explode($delim,$lecture);								
    					foreach ($tableau as $value)
    					{
    			// Creation du fichier final
    			$concat = fopen("concat.txt","a+");
    			fwrite($concat,"$files|");
    			fwrite($concat, "$value\n");
    					}
    		}
    	}
    		}
    }
     
    ?>
    mais voila l'erreur que j'ai :

    Warning: fopen(administrative.data): failed to open stream: No such file or directory in /usr/local/apache/htdocs/scripts/concat.php on line 28

    Warning: fopen(activitesartisanal.data): failed to open stream: No such file or directory in /usr/local/apache/htdocs/scripts/concat.php on line 28
    ...(idem pour tous les fichiers)
    Je ne comprends pas l'erreur...Surtout que lorsque j'execute le script dans le dossier où se situent les fichiers...le code marche

    Help SVP

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 715
    Par défaut
    tu dois indiquer le chemin complet à "fopen" :
    "/usr/local/apache/htdocs/cgi-local/jobs/autonotify/administrative.data"

  3. #3
    Invité
    Invité(e)
    Par défaut
    désolé j'ai edité le code (j'avais mis le mauvais)

    Oui mais le soucis c'est que j'ai plusieurs fichiers en .data (une ligne de mon code me scan le dossier pour me recupérer que les fichiers en .data).

    donc comment lui fait comprendre ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    avec ce 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php
     
    // Creation du fichier final
    $concat = fopen("concat.txt","w+");
     
    //déclaration du délimiteur pour les explode
    $delim = "\n";
     
    // Lecture des fichiers du répertoire courant
    $dir = opendir('/usr/local/apache/htdocs/cgi-local/jobs/autonotify/');
     
    while (false !== ($files = readdir($dir))) 
    {
    	// Ne lit que les fichiers ayant pour extension .data
    	if (eregi(".data$",$files))
    	{
    	$data = explode($delim,$files);
    		foreach ($data as $fichier)
    		{
    			// Ouverture du fichier
    			$dir_file = '/usr/local/apache/htdocs/cgi-local/jobs/autonotify/'.$fichier;
    			$open = fopen($dir_file,"r"); 
    		// Verifie si le fichier existe
    		if (file_exists($dir_file)) 
    		{
    			$open = fopen($dir_file,"r"); 
    			$lecture = fread($open, filesize($dir_file));
    			$octet=filesize("$dir_file");
    				if ($octet==0)
    				{
    				echo "<h3>Le fichier " .$files. " est vide</h3>";
    				} 
    			$tableau = explode($delim,$lecture);								
    					foreach ($tableau as $value)
    					{
    			fwrite($concat,"$files|");
    			fwrite($concat, "$value\n");
    					}
    		}
    	}
    		}
    }
     
    ?>
    je n'ai plus d'erreur mais il n'y a rien dans mon fichier concat.txt

  5. #5
    Invité
    Invité(e)
    Par défaut
    je clos. Aparament ce code fontionne :

    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
    <?php
     
    // Creation du fichier final
    $concat = fopen("concat.txt","w+");
     
    //déclaration du délimiteur pour les explode
    $delim = "\n";
     
    // Lecture des fichiers du répertoire courant
    $dir = opendir('/usr/local/apache/htdocs/cgi-local/jobs/autonotify/');
     
    while (false !== ($files = readdir($dir))) 
    {
    	// Ne lit que les fichiers ayant pour extension .data
    	if (eregi(".data$",$files))
    	{
    	$data = explode($delim,$files);
    		foreach ($data as $fichier)
    		{
    			// Ouverture du fichier
    			$dir_file = '/usr/local/apache/htdocs/cgi-local/jobs/autonotify/'.$fichier;
    			$open = fopen($dir_file,"r"); 
    		// Verifie si le fichier existe
    		if (file_exists($dir_file)) 
    		{
    			$open = fopen($dir_file,"r"); 
    			$lecture = fread($open, filesize($dir_file));
    			$octet=filesize("$dir_file");
    				if ($octet==0)
    				{
    				echo "<h3>Le fichier " .$files. " est vide</h3>";
    				} 
    			$tableau = explode($delim,$lecture);								
    					foreach ($tableau as $value)
    					{
    			fwrite($concat,"$files|");
    			fwrite($concat, "$value\n");
    					}
    		}
    	}
    		}
    }
     
    ?>

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

Discussions similaires

  1. [PPT-2003] Concatenation de plusieurs fichiers ppt
    Par desatan dans le forum Powerpoint
    Réponses: 3
    Dernier message: 26/06/2013, 01h29
  2. concatener plusieurs fichiers binaires.
    Par sloshy dans le forum Linux
    Réponses: 2
    Dernier message: 17/11/2009, 21h15
  3. [BATCH]Concatenation de plusieurs fichiers
    Par edp02 dans le forum Windows
    Réponses: 1
    Dernier message: 16/09/2009, 19h56
  4. Concaténer plusieurs fichier pdf.
    Par gege2061 dans le forum Linux
    Réponses: 7
    Dernier message: 28/10/2006, 14h14
  5. Supprimer les dernieres lignes et concatener plusieurs fichier
    Par filsdugrand dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 11/04/2006, 22h15

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