Salut a tous

j'ai réalisé une fonction php qui a pour but de chercher une chaine de caractere ( $text_to_delete ) dans un fichier ($filename) et de la supprimer.

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
 
function delete_line($filename, $text_to_delete)
{
	//recuperation du contenu du fichier
	$str_content = file_get_contents($filename,FILE_TEXT);
	echo "<br>Content: ".$str_content;
 
	//separation de chaque chaine dans un tableau
	$str_separate = explode(',',$str_content);
	print_r ($str_separate);
 
	//decompte du nombre d element du tableau
	$count_sep=count($str_separate);
 
	for($i = 0; $i < $count_sep ; $i++)
	 {
	 	echo ("<br>separate ".$i.": ".$str_separate[i]."<br>");
 
                //si l element du tableau est egal a la chaine a supprimer
	 	if($str_separate[i] == $text_to_delete.",")
	 	{
	 		echo "suppresion<br>";
                        //vider le contenu de la celulle
	 		$str_separate[i] = "";
	 	}
	 }
 
        //fusion des element du tableau
	$str_return=implode(";",$str_content);
 
        //ecriture du fichier
	file_put_contents($filename, $str_return );
	return;
}
Voici la sortie que j'obtiens:

Content: 58128947fc03bbf9392285d55684533b_55.png,58128947fc03bbf9392285d55684533b_g8.png,Array

Array
(
[0] => 58128947fc03bbf9392285d55684533b_55.png
[1] => 58128947fc03bbf9392285d55684533b_g8.png
[2] =>
)


separate 0:
separate 1:
separate 2:
Le problem ets qu'en fait le contenu de mon tableau $str_separate[] semble correct quand je l'affiche avec print_r , par contre des que j'essaye de faire un echo le tableau semble vide.

Du coup ma condition If ne match jamais le test voulu

Avez vous deja rencontré ca , ou ai-je fais une erreur que je ne verrais pas a force de relire mon code .

Bon je ne fais pas du php depuis tres longtemps donc il est bien possible que j'ai fais une erreur , mais impossibel de la trouver

Merci

a+