Rajouter une ligne dans une section d'un fichier .ini

Signaler
Messages postés
3
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
-
Messages postés
3
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
-
Bonjour à tous, voila j'ai un projet à faire qui resemble à ceci:


Un porte-document numérique est un espace web sur lequel on peut
stocker et partager des documents (bureautiques, images, archives,
...), afin d'y accéder d'où que l'on soit.


Mais voila sans base de données donc il faut que je gère les droits de
chque utilisateur avec un fichier .ini qui se trouvera dans chaque
dossier. Il se composera ainsi:


[dossier]


nom="perou 2007"


visibilite=public


description="photos de vacances"


[droits]


DSC_001.jpg = public


DSC_002.jpg = public


DSC_003.jpg = public


DSC_004.jpg = prive


DSC_005.jpg = prive


[descriptions]


DSC_001.jpg = "montagne"


DSC_002.jpg = "moustiques"


DSC_003.jpg = "lac"


DSC_004.jpg = "moi"


DSC_005.jpg = "encore moi"

mais dans mon projet je dois permettre à un utilisateur d'uploader
un fichier dans un dossier et le problème c'est que je ne sais pas
comment faire pour rajouter une ligne dans un section du fichier ini?


Avez vous la réponse ou une idée ??? merci

5 réponses

Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð


Est ce que le system ini est impose ? parce que sans cela il serait plus simple d utiliser xml avec simplexml

Vilhjálms
Sigurðsdóttir aka Frëyjá
Messages postés
239
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
3 juin 2010
1
Hello,

je ne pense pas que PHP est composé d'outils permettant de manipuler des fichiers INI au même titre que DOM permet de manipuler des fichiers XML. A mon avis, tu vas devoir réaliser ton propre parsing (ou analyse de données).
Messages postés
3
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007

oui cela est imposer mais je pense que je vais lire mon fichier ini avec parse_ini_file et je rajouterai les données à ajouter dans mon tableau puis je re-écrirais l'ensemble de mon fichier ini. C'est sur c'est pas top mais bon jfais comme je peux en tout cas merci pour vos réponses
Messages postés
2378
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
18
Alors je vais peut etre te dire une chose bête, mais perso j'ai du faire cela de mon coté. J'ai du créer une série de méthode pour l'objet 'fichier' comme
addLine(text,numLine) --> rajoute du texte à la ligne x
endLine(chapter) --> renvoie le numéro de la dernière ligne d'un chapitre
getValue(chapter,name) --> renvoie la valeur d'un champ d'un chapitre
updValue(chapter,name,value) --> modifie la valeur d'un champ d'un chapitre et si name inexistant alors addLine
etc..
Désolé je n'ai trouvé que cette méthode.
S.
Messages postés
3
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007

Voila ma fonction elle marche en réfléchissant un peu :

<?php

$file_ini= parse_ini_file("droits.ini",true);

foreach($file_ini as $section => $element)
  {  foreach($element as $files => $options)
   }

$fichier=fopen('./droits.ini', 'w+');   // Ouvre le fichier .ini Mode: Lecture/ Ecriture et écrase l'ancien

$saut="\r\n";

$name_file='chaine';   
$droits='PUBLIC';      
$descriptions='PHP Puissant'; 

$file_ini['droits']["$name_file"]= $droits;
$file_ini['descriptions']["$name_file"]= $descriptions;

foreach($file_ini as $section => $element)
{
    fwrite($fichier, "[$section]");
    fwrite($fichier, $saut);
    foreach($element as $files => $options)
        {
        $chaine=$files ." = ". $options;
        fwrite($fichier, $chaine);
        fwrite($fichier, $saut);
        }
        fwrite($fichier, $saut);
 }
?>