( php ) fseek : Choisir la ligne à réécrire
Profil bloqué
-
Leviathan49 Messages postés 267 Statut Membre -
Leviathan49 Messages postés 267 Statut Membre -
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 !
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 !
A voir également:
- ( php ) fseek : Choisir la ligne à réécrire
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
3 réponses
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.
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);
?>
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
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);