Php lecture et ecriture d'un fichier texte
Fermé
layeures
Messages postés
286
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
22 juin 2018
-
18 juin 2009 à 20:30
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 19 juin 2009 à 16:58
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 19 juin 2009 à 16:58
A voir également:
- Php lecture et ecriture d'un fichier texte
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Écriture facebook - Guide
3 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
18 juin 2009 à 21:05
18 juin 2009 à 21:05
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
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
layeures
Messages postés
286
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
22 juin 2018
3
18 juin 2009 à 21:19
18 juin 2009 à 21:19
<?
$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
$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
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
19 juin 2009 à 16:58
19 juin 2009 à 16:58
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>'; ?>