Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Nous allons maintenant voir comment récupérer un array depuis un fichier
.ini et inversement (en utilisant ce qu'on a vu précédemment) ; il nous sera utile de savoir modifier un array, vous savez bien entendu comment faire...

Bon : pour ceux qui auraient un doute, voici les trois opérations qu'on peut lui faire subir.
Changer une valeur
Code : PHP1
2
3
4
5 | <?php
$groupe = "Louise";
$item = "age";
$array[$groupe][$item] = $valeur;
?>
|
Ajouter un item ou un groupe
Comme avant, sauf qu'il suffit de prendre pour groupe et item des noms qui n'y sont pas encore.
Supprimer un item ou un groupe
On supprime une entrée dans un array comme n'importe quelle autre variable avec
unset() :
Code : PHP1
2
3
4 | <?php
unset($array[$groupe][$item]); //Supprime l'item
unset($array[$groupe]); //Supprime le groupe
?>
|
Avec ça, vous êtes parés pour ce chapitre.
Pour récupérer le fichier entier dans un array, nous allons utiliser le code de la première partie en le changeant à peine :
Code : PHP 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 | <?php
$fichier="membres.ini";
$array=array();
if(file_exists($fichier) && $fichier_lecture=file($fichier))
foreach($fichier_lecture as $ligne)
{
if(preg_match("#^\[(.+)\]\s+$#",$ligne,$matches))
{
$groupe=$matches[1];
$array[$groupe]=array();
}
else
{
if($ligne[0]!=';')
{
list($item,$valeur)=explode("=",$ligne,2);
$array[$groupe][$item]=$valeur;
}
}
}
else
echo "Le fichier est introuvable ou incompatible<br />";
// Et voilà, $array contient le fichier membres.ini sous la forme d'un array à 2 niveaux.
?>
|
Reportez-vous au premier chapitre expliquant comment récupérer une valeur ; seule différence ici : on rentre les groupes et items dans
$array.
Voici donc la manipulation inverse dans laquelle on va également se servir de
foreach, mais en utilisant en plus la clé, par exemple, pour un array structuré comme ça :
Code : Autre1
2
3
4
5
6
7
| $array
{
[$key] => $value
[$key] => $value
[$key] => $value
[$key] => $value
} |
On peut parcourir cet array avec
foreach($array as $key => $value)
souvent utile quand on a un array associatif.
Code : PHP 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 | <?php
$fichier_save="";
foreach($array as $key => $groupe_n)
{
$fichier_save.="
[".$key."]";
foreach($groupe_n as $key => $item_n)
{
$fichier_save.="
".$key."=".$item_n;
}
}
$fichier_save=substr($fichier_save, 1); // On enlève le premier caractère qui est -si vous regardez bien- forcément une entrée à la ligne inutile
if(false===@file_put_contents("membres.ini", $fichier_save))
{
echo "Impossible d'écrire dans ce fichier";
}
?>
|
Vous savez maintenant comment récupérer un array, comment le modifier et sauver les modifications !