Ouvrir et écrire dans un tableau array()

Petit nouveau ! | 1 Messages

27 juin 2013, 02:22

Bonjour à tous,
je voudrais lors de l’exécution d'un script ouvrir un fichier qui contient un tableau. et je souhaite ajouter une ligne à ce tableau puis enregistrer le fichier et le fermer.
Le principe est pour construire un menu dynamique à chaque fois que j'enregistre une nvlle catégorie dans ma bd.
ex:
MonTableau = array('toto' => 'lien1.php', 'tati' => 'menu2.php', 'tonton' => 'menu3.php'...);
le script doit ouvrir le fichier et insérer dans le tableau un texte du type : 'Montexte' => 'urlfichier.php',
puis enregistrer le fichier et le fermer.

Merci pour votre aide.

ViPHP
ViPHP | 2577 Messages

27 juin 2013, 08:11

fonctions fopen(),fputs() et fclose().
fopen() a un paramètre "w+" qui permet d'écrire à la fin du fichier.

Je te conseille de refaire tout le fichier à partir de la db plutôt que d'ajouter.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

27 juin 2013, 10:28

salut,


perso je stockerais du JSON plutôt que du code php c'est plus simple à gérer ;)


@+
Il en faut peu pour être heureux ......

ViPHP
ViPHP | 2577 Messages

27 juin 2013, 10:58

A générer, ce n'est pas super compliqué, et pour la lecture, un include.

Eléphant du PHP | 79 Messages

01 juil. 2013, 14:28

Bonjour l'ami,

La solution à ta question est simple, les fichier ini.

Place ceci dans un fichier "menu.ini"

# fichier menu.ini :
page_accueil.php = "Ma page accueil"
page_contact.php = "Me contacter"

Comment ajouter un menu :

function create_menu( array $menu )
{
    $result = null ;

    if( !empty( $menu ) )
    {
        foreach( $menu as $link => $name )
        {
            $result .= "$link = '$name'\n" ;
        }
    }

    return $result ;
}

$menu = parse_ini_file( "./menu.ini" );

// ajouter un élément :
$menu['page_news.php'] = "Mes nouveautés" ;

// supprimer un élément :
unset( $menu['page_contact.php'] );

if( file_put_contents( './menu.ini', create_menu( $menu ) ) )
{
    echo "Le ficher menu.ini a été sauvegardé" ;
}

Comment exploiter le fichier ini :

<div id="menu">
<ul>
<?php foreach( parse_ini_file( './menu.ini' ) as $link => $name ): ?>
<li><a href="<?php echo $link ?>"><?php echo $name ?></a></li>
<?php endforeach; ?>
</ul>
</div>

Ciao

Mammouth du PHP | 2278 Messages

01 juil. 2013, 21:13

<?PHP
 $tab = array('toto' => 'lien1.php', 'tati' => 'menu2.php', 'tonton' => 'menu3.php');
 $letab = serialize ($tab);
 //ecrire dans le fichier
 print "$letab";
 //on suppose le fichier relu
 $relu = unserialize($letab);
 print_r($relu);
 ?>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD