Téléchargement
illégal
Posez votre question Signaler

Php lecture et ecriture d'un fichier texte

layeures 266Messages postés 13 juin 2007Date d'inscription 13 décembre 2010Dernière intervention - Dernière réponse le 19 juin 2009 à 16:58
Bonjour,
le probleme que j ai est que j ai cree un fichier pour modfier un fichier teste au millieu du texte mes probleme ca ne marche pas voici le code :
<?
$fp=fopen("texte.txt","r+");
$fpa=fopen("texte.txt","a+");
fseek($fp, 2); //replace le pointeur
fputs($fpa,"\n");
fputs($fpa,"cette portion de texte.");
$fichier_texte=fgets($fpa,4060); //lit les donnee
echo"$fichier_texte"; // affiche les donne
fclose($fpa);
fclose($fp);
echo"$fichier_texte"; // affiche les donne
?>
MERCI D'AVANCE DE VOTRE AIDE
Lire la suite 

Php lecture et ecriture d'un fichier texte »

3 réponses
Réponse
+0
moins plus
pourquoi ouvres tu deux canaux par fopen vers le même fichier texte.txt ?

surtout si tu utilises le premier canal pour déplacer le pointeur et que tu utilises le deuxième pour ecrire dans le fichier

fias simplement une seule fois fopen et utilises toujours ce canal
Ajouter un commentaire
Réponse
+0
moins plus
<?


$fp=fopen("texte.txt","a+");

fseek($fp, 5); //replace le pointeur
fputs($fp,"\n");
fputs($fp,"cette portion de texte.", 10);
$fichier_texte=fgets($fp,4060); //lit les donnee
echo"$fichier_texte"; // affiche les donne

fclose($fp);

?>
voila je viens de tester tous les code posssible est je ne trouve pas la solution comment inserer un texte au millieu d'un texte
ce code ne marche pas

que faire
Ajouter un commentaire
Réponse
+0
moins plus
une autre solution radicalement différente mais qui fonctionne chez moi:

<?php
$fichier='texte.txt'; //attention tu dois mettre le chemin relatif par rapport au script php
$array_fichier=file($fichier); //on obtient un array du contenu du fichier ligne par ligne
//avec la fonction file pas besoin de fopen et fclose
$num_ligne=4; //numéro de la ligne à insérer à partir de 0 !!!
$contenu_a_rajouter=array(); //cela doit être un array !!
$contenu_a_rajouter[0]="cette portion de texte\n"; //chaque ligne terminée par \n

if($num_ligne < sizeof($array_fichier)){ //on verifie que la ligne a inserer n'est pas en dehors des limites di fichier
	//on scinde l'array en deux
	$array_avant=array_slice($array_fichier,0,$num_ligne);
	$array_apres=array_slice($array_fichier,$num_ligne);
	
	//on rajoute les differents array
	$array_final=array_merge($array_avant,$contenu_a_rajouter,$array_apres);
	//on réecrit dans le fichier
	
	if(file_put_contents($fichier,$array_final)){echo "Ecriture reussie !<br />";}
	
}else{	
	echo "numero en dehors taille fichier";
}

//relecture
$array_lu=file($fichier);
echo '<pre>';
print_r($array_lu);
echo '</pre>';

?>
Ajouter un commentaire
Ce document intitulé « php lecture et ecriture d'un fichier texte » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?