begin process at 2012 05 30 23:56:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Include dans un tableau Array ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Include dans un tableau Array ?

jeudi 31 janvier 2008 à 16:33:13 | Include dans un tableau Array ?

hakeem69

Bonjour à tous

 

Bon je ne vais pas vous la faire : ''oui, dsl mais je suis débuant etc... '' car de toute façon vous allez le remarquez vous-même, en effet j'ai ouvert ma première balise PHP il y a quelques semaines.

 

Mon problème se situe au niveau d'un tableau, pour mon  job l'objectif est de compléter / modifier un tableau par des personnes non avertis en programmation (dont moi lol).

Et j'ai donc effectué ce petit script de test :

 

FICHIER.TXT (que mes collègues pourront éditer) :


'google'=>'http://www.google.fr/' , 'Jeux Vidéo'=>'http://www.jeuxvideo.com/'

 

FICHIER.PHP :


<?php

$fixe = array ( ?><?php include('FICHIER.TXT'); ?><? );

reset($fixe);

while (list($nom,$lien) = each($fixe))

{echo "<a href='$lien'>$nom</a><br>";}

 ?>

Mais voila la vie ne serait pas assez belle si tout marchait du 1ere coup alors je vous demande si il est possible d'inclure un include d'un ficghier TXT dans mon tableau ?

Et sinon quelle solution aurai-je ?

A noter que lorsqu'on remplace le contenu du fichier txt dans le tableau, ça fonctionne nickel !.

 

Merci d'avance pour votre aide !

jeudi 31 janvier 2008 à 16:44:30 | Re : Include dans un tableau Array ?

sidf

salut

il me semble que include devrait appeler une page php
pour lire un.txt en boucle, vois fopen, fgets
jeudi 31 janvier 2008 à 17:06:44 | Re : Include dans un tableau Array ?

bcmfr

Membre Club
Slt
comme le dit sidf, il faut ouvrir le fichier pour pouvoir le lire.
regarde cet article pas mal fait pour utiliser des fichiers
[ Lien ]
@+
jeudi 31 janvier 2008 à 18:25:09 | Re : Include dans un tableau Array ?

Teclis01

il faut utiliser la fonction eval de php !
http://de3.php.net/manual/fr/function.eval.php (j'adore cette fonction Hein malalammmmmm )

Afin d executer ton truc...
FICHIER.TXT
['google']=>'http://www.google.fr/' , ['Jeux Vidéo']=>'http://www.jeuxvideo.com/'


$sContent=file_get_contents('./FICHIER.TXT');
eval("$assSites=array($sContent);");
print_r($assSites);

//ya ptet des erreurs mais j ecris ça sans editeur et avant de partir du taf

--------------------------------------------------------------------------------------------------
         Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

jeudi 31 janvier 2008 à 19:36:56 | Re : Include dans un tableau Array ?

hakeem69

RE,

Sidf => je ne pense pas que la foction include soit réservée au page PHP puisque ca marche très bien avec de l'HTLM etmême avec le fichier TXT, par exemple :

Fichier.txt :
Bla bla bla !

Fichier.php :
<?php include 'Fichier.txt'?>

Dans ce cas la page php affichera bien Bla bla bla !

Le souci dans mon script c'est qu'a mon avis, 'google.. etc.. est reconnue comme une chaîne de caractère je pense.

Bcmfr => Je n'y arrive pas non plus comme ca, j'ai essayé :

<?php

$fichier = "fichier.txt";
$lire = fopen ($fichier, 'r');
$var = fgets ($lire, 255);
echo $var;
// la c'est parfait, le contenu du fichier TXT s'affiche ! mais en faisant ce qui suit :

$fixe = array($var);
reset($fixe);
while (list($f,$g) = each($fixe))
{echo "<a href='$g'>$f</a><br>";}

// la ce ne fonctionne plus !
?>

Personne à une idée pour simplement inclure le contenu de mon fichier TXT dans le tableau ?

jeudi 31 janvier 2008 à 19:51:08 | Re : Include dans un tableau Array ?

malalam

Administrateur CodeS-SourceS
Hello,

c'est surtout que la façon de l'écrire est pourrie ;-)

$fixe = explode(',', file_get_contents('FICHIER.TXT'));
vendredi 1 février 2008 à 19:46:18 | Re : Include dans un tableau Array ?

hakeem69

Bonjour,
Je m'excuse de ne pas m'être manifesté avant mais j'ai été pris par le boulot.
C'est très gentil à vous, surtout à toi malalam qui souligne cordialement que ma façon d'écrire est pourris.
Cela dit, je me vois obligé de te retourner le compliment avec autant de cordialité car avec ta façon ça ne marche pas non plus.

Après quelques recherches, je pense m'orienter vers une solution PHP / XML, mais si vous trouvez la solution pour l'enrichissement commun, je suis preneur.

vendredi 1 février 2008 à 20:36:43 | Re : Include dans un tableau Array ?

malalam

Administrateur CodeS-SourceS
Ahem.
Donc déjà, tu n'auras visiblement pas remarqué mon ";-)" enfin de phrase. Aucune importance, très sincèrement.

FICHIER.TXT (que mes collègues pourront éditer) :

'google'=>'http://www.google.fr/' , 'Jeux Vidéo'=>'http://www.jeuxvideo.com/'

  FICHIER.PHP :

<?php

$fixe = array ( ?><?php include('FICHIER.TXT'); ?><? );

reset($fixe);

while (list($nom,$lien) = each($fixe))

{echo "<a href='$lien'>$nom</a><br>";}

 ?>

On reprend :
'google'=>'http://www.google.fr/' , 'Jeux Vidéo'=>'http://www.jeuxvideo.com/'
ça, c'est un hash. Chaque élément est séparé par une virgule.
explode(',', "
'google'=>'http://www.google.fr/' , 'Jeux Vidéo'=>'http://www.jeuxvideo.com/'")
un print_r() là_dessus donne bien un tableau.
ce que je n'avais pas noté, c'est que tu voulais avoir la paire clef => valeur.
Donc :
<?php
function mySplit($sChaine) {
    if(!is_string($sChaine)) {
        throw new Exception('Le paramètre doit être une chaîne');
    }
    $aFinal = array();
    $aEntries = explode(',', $sChaine);
    if(count($aEntries) !== 2) {
        throw new Exception('Problème de format');
    }
    foreach($aEntries as $sEntry) {
        $aTmp = explode('=>', $sEntry);
        $aFinal[$aTmp[0]] = $aTmp[1];
    }
    return $aFinal;
}
$sChaine = "'google'=>'http://www.google.fr/' , 'Jeux Vidéo'=>'http://www.jeuxvideo.com/'";
print_r(mySplit($sChaine));
?>

Maintenant, sur ton code, puisque tu veux (d'ailleurs si tu ne le veux pas, c'est pareil) que j'explique mon commentaire malgré mon clin d'oeil :
reset() sur un tableau que tu n'as pas parcouru est stupide : tu réinitialises un tableau qui vient d'être initialisé.
Mais surtout, tu devrais revoir les fondamentaux de php :
un include inclus un fichier. Certes. Si ce n'est pas du php, le fichier est "affiché" tel quel. C'est de l'output. Et sans header() particulier indiquant à la page ce que devra être son output, ce sera du texte (plain/text).
Maintenant, faisons un array(texte). Que fait on ? On dit explicitement à php de convertir le texte en tableau. Mais comment php peut-il deviner qu'il doit parser ton texte pour faire ce que dans ta tête tu as imaginé qu'il devait faire ? "'bla'=>'toto'", ça n'est qu'une chaîne. Rien d'autre. A aucun moment tu n'as dit à php : attention, c'est un peu comme du php mon truc, donc essaye de l'analyser, ça ressemble à un tableau!! Et même si tu l'avais dit...ça ne fait qu'y ressembler.
?><? : là, faut que tu m'expliques. Tu fermes un tag php pour le réouvrir juste après ? Quand tu veux sortir d'une salle dont la porte ouverte, tu fermes d'abord la porte puis tu la réouvres après ? Sait-on jamais, des fois que ce soit un piège, elle était peut-être, en réalité, fermée, la porte...on n'est jamais trop prudent.
Re sur les tags : <? est déprécié. C'était bon en php3, nettement moins en php4, carrément déconseillé en php5 et surtout avec l'avènement de xml, et on est à l'aube de php6. Ca fait quand même 3 versions de retard si tu veux le justifier.
Et pour finir : les valeurs d'attributs html entre apostrophes, c'était en html4. On en est au xhtml, et là, pas de possibilité de faire autrement : ce sont des guillemets, parce qu'on est à l'ère du xml.

Franchement, les petites erreurs de ton code, je n'en avais rien à faire, c'était une boutade. Mais maintenant, tu as le fond de vérité de ma boutade. Et tu peux me maudire avec raisons, là :-)

Juste : eval() est valable. C'est juste que c'est une fonction :
- dangereuse
- affreusement lente
Lais sinon, la solution est valable :-) De tte manière, toutes les solutions de Teclis sont valables. C'est juste qu'elles sont tjrs dangereuses et affreusement lentes ;-) (et Teclis, lui, notera le clin d'oeil...).





vendredi 1 février 2008 à 22:33:59 | Re : Include dans un tableau Array ?

hakeem69

Ok merci malalam

Je vais bosser dans ce sens.

Par contre tu t'es un peu enflammé la, tu rigolais, je rigolais aussi, tout le monde est détendu ok ?
Que ton ego d'Admin ne vienne pas perturber ta perception de l'humour surtout ! <= ça aussi c'est de l'humour hein !

CDLT, Hakim

samedi 2 février 2008 à 11:27:30 | Re : Include dans un tableau Array ?

malalam

Administrateur CodeS-SourceS
Eh bien si j'ai aussi loupé ton humour, j'en suis désolé. La prochaîne fois, fais un signe, histoire que mon ego démesuré d'admin ne s'offusque pas.

1 2

Cette discussion est classée dans : fichier, tableau, txt, include, array


Répondre à ce message

Sujets en rapport avec ce message

transfere un fichier .txt dans un tableau [ par rguillon ] bonjours j'ai un petit probleme pour afficher le contenu d'un fichier texte dans un tableaule probleme c'est que toutes les info ce mettent a la suite afficher un fichier .txt dans un tableau [ par rguillon ] bonjours j'ai un petit probleme pour afficher le contenu d'un fichier texte dans un tableaule probleme c'est que toutes les info ce mettent a la suite probleme avec tableau associatif [ par arginine ] Bonjour, J'ai un probleme relativement stupide pour "construire" un tableau associatif avec plusieurs colonnes: // exemple$tab = array( "fichier" => Problème pour vider un fichier ( .txt ) automatiquement à une heure précise [ par shadow125 ] Bonjour,J'ai mis sur mon site un service de chat qui stocke l historique des conv ( un peu comme msn ) sur le serveur. Hors, si vous avez 15 personnes verifier si un fichier a bien fait appel à un autre grace à la fonction include() ? [ par anedeo ] Bonjour à tous, je cherche un moyen de verifier qu'un fichier a bien été appelé par un autre via la fonction include() de php je m'explique : mettons Récupérer variable d'un tableau [ par tibine974 ] Bonjour !! Voilà j'ai un tableau de cette sorte  : $animal= array ( "chien" => array("medor"=>"gentil", "brutus" => "mechant") "chat" => array("f Incrémenter un fichier !! [ par chanandler ] Bonjour a tous !! J'ai une fonction que je voudrais faire mais je n'arrive a rien. Voila mon probléme : je dois déplacer un fichier d'un repertoire d php proleme include [ par natsou_k ] Bonjour, j ai un soucis avec les inculde et j ai scerné le proleme mais n ai pas trouvé la solution. Dans /php/ j ai tout mes fichier inc.php qui s in array 2D composé de array [ par Diafwl1 ] Bonjour, j'aurais voulu savoir s'il existe une fonction qui me permette de créer ou d'ajouter dans un tableau à 2 dimensions, un tabeau d'1 dimension ecrir fichier txt [ par maxelpiratos ] svp, juste une petite question...  comment fait on pour re-ecrir dans un fichier txt a une nouvelle ligne?merci d avance!!!


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales