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

( php ) fseek : Choisir la ligne à réécrire

deathflag 132Messages postés 9 novembre 2009Date d'inscription 31 décembre 2010Dernière intervention - Dernière réponse le 21 juil. 2010 à 13:24
Bonjour,
voila j'explique mon problème :
Je veux réécrire dans un fichier, à la ligne 2
alors je dois positionne le curseur virtuel. Y a-t'il une facon de choisir la ligne sur laquelle on veut écrire ?
$fichier_inventaire = fopen('save_inventaire.php', 'r+'); // ouverture du fichier \\
fseek($fichier_inventaire,'POSITIONNER_LE_CURSEUR_EN_NBR_DE_CARACTERES');
fputs($fichier_inventaire, ' $magique_pendentif_01 = 1 ');
fclose($fichier_inventaire);
ou une fonction faite pour ca aussi si vous connaissez?
Merci d'avance !
Lire la suite 

( php ) fseek : Choisir la ligne à réécrire »

3 réponses
Réponse
+1
moins plus
Salut.

Tu pourrais lire tout le fichier et placer son contenu dans une variable.
Ensuite, tu sépares chaque ligne dans un array avec la fonction explode(), puis tu modifies la deuxième entrée.
Pour finir, tu réassembles le tout, et tu sauvegarde.

<?php
/* Lecture */
$fichier = fopen('fichier.txt','r+');
$chaine = '';
while(!feof($fichier)) {
    $chaine .= fgets($fichier, 4096);
}

/* Remplacement */
$lignes = explode("\n", $chaine);
$lignes[1] = 'Contenu de la seconde ligne';

/* Assemblage */
$chaine = '';
foreach($lignes as $ligne) {
    $chaine .= $ligne."\n";
}

/* Enregistrement */
fseek($fichier, 0);
fputs($fichier, $chaine);
fclose($fichier);
?>
Ajouter un commentaire
Réponse
+0
moins plus
Ok, mais j'ai pas encore le niveau pour ca. Il n'y a pas un moyen de resoudre mon problème avec qlq chose d'encore plus simple stp ? Sinon je m'avancerais plus, mais mon projet avait pour but de savoir ce que je n'avais pas encore acquis et qui correspondait à mon niveau
Ajouter un commentaire
Réponse
+0
moins plus
Sinon en plus simple :
$numero_ligne = 2; 
$contenu = "nouvelle ligne 2\n" 

$data = file("fichier.txt"); // lit le fichier et stocke chaque ligne dans un tableau 
$data[$numero_ligne] = $contenu; // change le contenu de la ligne 2 

$file = fopen("fichier.txt","w");  // sauvegarde les changements 
foreach($data as $ligne) 
{ 
    fwrite($file,$ligne);    
} 
fclose($file);
Ajouter un commentaire
Ce document intitulé « ( php ) fseek : Choisir la ligne à réécrire » 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 ?