Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/09/2007, 11h21   #1
Nouveau Membre du Club
 
Étudiant
Inscription : mai 2007
Messages : 143
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 143
Points : 35
Points : 35
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 :
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 :

Citation:
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
Mehdib92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 11h24   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
tu dois indiquer le chemin complet à "fopen" :
"/usr/local/apache/htdocs/cgi-local/jobs/autonotify/administrative.data"
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 11h26   #3
Nouveau Membre du Club
 
Étudiant
Inscription : mai 2007
Messages : 143
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 143
Points : 35
Points : 35
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 ?
Mehdib92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 11h48   #4
Nouveau Membre du Club
 
Étudiant
Inscription : mai 2007
Messages : 143
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 143
Points : 35
Points : 35
avec ce code :

Code :
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
Mehdib92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2007, 11h51   #5
Nouveau Membre du Club
 
Étudiant
Inscription : mai 2007
Messages : 143
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 143
Points : 35
Points : 35
je clos. Aparament ce code fontionne :

Code :
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");
					}
		}
	}
		}
}
 
?>
Mehdib92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h13.


 
 
 
 
Partenaires

Hébergement Web