Bonjour,

Voila j’ai un gros problème que je n’arrive pas a résoudre

Je dois lister un répertoire, puis remplacer dans chaque fichier une expression par une autre, est en même temps faire une sauvegarde du fichier d’origine avec un ajout de _old_ au début.

Le problème est que ca marche, mais je me retrouve avec des centaine de fichier genre
_old_product.tpl
_old__old_product.tpl
_old__old__old_product.tpl
_old__old__old__old_product.tpl
_old__old__old__old__old_product.tpl
_old__old__old__old__old__old_product.tpl
etc..


Avez-vous une solution svp.
Merci d'avance


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
 
if ($_POST['themes_modifi'] == 'themes_modifi') // si la case est coché alors modifie le theme
	{
 
$row = 0;
$update = "";
$separator = "";
$idx_nom = 0;
$idx_rubrique = 1;
$dir1 = 'C:/xampp/htdocs/'._THEMES_DIR_._THEME_NAME_.'/';
$dirname = $dir1;
$dir = opendir($dirname); 
 
while($file = readdir($dir)) {
	if($file != '.' && $file != '..' && !is_dir($dirname.$file))
	{
 
// debut pour product-list.tpl
$fichier_dorigine = $file; //Fichier a modifier
$fichier_old = '_old_'.$file; //Fichier originale save "_old_...
$tfile = $dir1.$fichier_old; 
	if (file_exists($tfile)) { 
	echo ("<P>File '$tfile' exists </P>"); 
	unlink ($dir1.$fichier_dorigine);
	rename($dir1.$fichier_old, $dir1.$fichier_dorigine); 
	} else { 
	echo ("<P>File '$tfile' does not exist </P>"); 
	} 
unlink ($dir1.$fichier_old);
rename($dir1.$fichier_dorigine, $dir1.$fichier_old); 
$fichier = fopen($dir1.$fichier_old,"r" ); 
$fichier2 = fopen($dir1.$fichier_dorigine, "w+" ); 
$modif1 ='<img src="{$link->getImageLink($product.link_rewrite, $product.id_image'; // cherche est remplace
$new_modif1 ="\n"."\n"."\n".'<img src="{$product.legend}"'; // remplacer par
//$modif2 ='height}"{/if} /></a>';
//$new_modif2 ='<img src="{$product.legend}"'."\n"."\n";
 
 
if (($handle = fopen($dir1.$fichier_old, "r")) !== FALSE) 
{
    while (($data = fgetcsv($handle, 1000, "\n")) !== FALSE) 
    {
      $data = str_replace($modif1,$new_modif1,$data); 
	//  $data = str_replace($modif2,$new_modif2,$data); 
      $update   .= implode($separator,$data)."\r\n";
      $row++;
   }
    fclose($handle);
}
$ouvre=fopen($dir1.$fichier_dorigine,"w+");
fwrite($ouvre,$update);
fclose($ouvre);
 
 
 
		//echo '<a href="'.$dirname.$file.'">'.$file.'</a><br>';
	}
}
 
closedir($dir);
 
 
 
 
}