supprimer une partie de texte

Eléphanteau du PHP | 14 Messages

25 avr. 2014, 14:20

Bonjour,
Voilà dans une fichier texte dans lequel apparait des valeur je voudrais que certaine valeur dans le fichier texte soit supprimer.
Le problème étant que par exemple dans le fichier texte j'ai :

red=128
blue=12

Je voudrais que dans mon fichier php quand je valide une valeur (grace à une fonction post) que l'ancienne valeur sois supprimer pour mettre la nouvelle sans enlever toutes les valeur.
par exemple je rentre red=208 dans mon php alors mon fichier php vas supprimer red=128 pour mettre red=208 se qui donnerais dans le fichier texte:

red=208
blue=12

Voilà, merci pour vos réponse ;)

Eléphant du PHP | 422 Messages

25 avr. 2014, 14:56

hello

c'est dommage de ne pas poster au moins un peu de code ...
le forum est la pour aider et pas trop pour te faire le script :)

regarde du coté de
http://www.php.net/manual/fr/function.file.php
http://fr2.php.net/manual/fr/function.explode.php

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphanteau du PHP | 14 Messages

25 avr. 2014, 15:07

voilà les deux code que j'ai de base , il supprime tout deux tous se qu'il y a dans le texte puis mette la valeur,
	<?php
    $seq=$_POST['site'];
 echo "la séquence affichée est: ";
 echo  $seq;
  $controle = fopen('data-controle.txt', 'a');
    ftruncate($controle,0);
   fputs($controle, $seq);
    fclose($controle);
?>  
</div>
<div class="contenu_onglet" id="contenu_onglet_pourquoi">
		<form method="post">
	  		choisi un nombre <input type="number" name="D1">
	  		<input type="submit" value="envoie image">
		</form>
		<br>
	<?php
    $star=$_POST['D1'];
 echo "l'image afficher est ";
 echo  $star;
    ftruncate($controle,0);
   fputs($controle, $star);
    fclose($controle);
?>  
Modifié en dernier par gaudilfeur le 25 avr. 2014, 16:25, modifié 1 fois.

Eléphant du PHP | 422 Messages

25 avr. 2014, 15:51

hello

un exemple

fichier param.txt

Code : Tout sélectionner

yellow=243 red=4 blue=44

code php
<?php

//debug
echo '<pre >'; // on a vue plus jolie : )

//fichier avec les couples VAR=VAL
$myFile="param.txt";
$vars=array('red','yellow','blue'); //var possible dans le fichier


//si on a des paramètres
if(count($_GET)> 0){

	//récupère les param passé en GET et présent dans le tableau vars
	$values=array(); 
	foreach($vars as $key){ //chaque VAR
		if(isset($_GET[$key])){ //check si GET exist
			$values[$key] = (int)$_GET[$key]; // si oui on le garde et on le cast en int
		}
	}
	
	//debug
	print_r($values);
	
	//tableau des lignes du fichier
	$tab=file($myFile);

	//debug
	print_r($tab);

	$newline=''; // init
	foreach($tab as $line){ //pour chaque ligne
		$tmp=explode('=',$line); //coupe via '=' cad [0] == VAR et [1] == VAL
		if(isset($values[$tmp[0]])){ // si la var existe dans le tableau des GET > on remplace
		
			$newline.=$tmp[0].'='.$values[$tmp[0]]."\n";// \n == fin de ligne    .= concaténation
		}
		else{
		
			$newline.=$tmp[0].'='.$tmp[1];
		}
	}
	
file_put_contents($myFile,$newline); // on ré ecrit le fichier

	
}
?>
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)