passer une variable en lecture de fichier

arnaken
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 14 Mar 2007

passer une variable en lecture de fichier

Message le Mer Mar 14, 2007 12:16

Bonjour,

Je voudrais savoir comment faire pour passer une variable en lecture de fichier.

J'ai essayé d'utiliser file('fichier.php?var=1')
mais ça ne fonctionne pas. Et si je fais file('fichier.php'), il lit le fichier, mais il n'y a pas la variable utilisée.

Donc je voudrais combiner les 2. Est-ce possible ?


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Mer Mar 14, 2007 12:33

include('fichier.php')

arnaken
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 14 Mar 2007

Message le Mer Mar 14, 2007 12:48

Peux-tu être plus précis ?

Je ne suis pas sûr d'avoir saisi. Je cherche à récupérer le fichier avec le php exécuté avec la valeur de la variable et non pas sous la forme php.


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Mer Mar 14, 2007 12:51

le fichier est sur ton serveur ? pourquoi tu ne l'execute pas via ton serveur ? avec un include, les variables seront concervées


olivieri
WRInaute impliqué
WRInaute impliqué
 
Messages: 889
Inscription: 3 Fév 2003

Message le Mer Mar 14, 2007 13:29

Je penses que la bonne réponse est :

Code: Tout sélectionner
// Je fixe la valeur de la variable
$var = 1;

// J'appelle le fichier qui prendra en compte la variable
include('fichier.php');



J'ai gagné ?

arnaken
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 14 Mar 2007

Message le Mer Mar 14, 2007 13:32

Je ne suis toujours pas sûr d'avoir bien compris. Le fichier est en effet sur mon serveur.

J'ai essayé 2 trucs :

include("fichier.php?var=1") et là rien ne marche.

et

$var=1;
include ("fichier.php") et là le fichier s'exécute mais la valeur de la variable n'est pas prise en compte.


olivieri
WRInaute impliqué
WRInaute impliqué
 
Messages: 889
Inscription: 3 Fév 2003

Message le Mer Mar 14, 2007 13:37

Autre possiblité:

// Inclusion du fichier
include("fichier.php");

// Appel d'une fonction qui est dans ce fichier avec le bon argument
mafunction($var);

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Mer Mar 14, 2007 13:41

tu veux récupérer ce qu'affiche ton script ?

Dans ce cas 2 possibilités =>

1) tu joues avec les buffers pour récupérer la sortie de l'include et la conserver en mémoire
http://fr.php.net/manual/en/function.ob-start.php

ou bien

2) utiliser la fonction eval()
http://fr.php.net/manual/en/function.eval.php
qui interprètera une chaine php
Il faudra d'abord que tu transformes ton fichier en texte et le mettre en param_tre d'eval()

arnaken
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 14 Mar 2007

Message le Mer Mar 14, 2007 13:43

dans ce cas, l'exécution du fichier précédera la prise de valeur de la variable. Donc ça me parait pas viable...

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Mer Mar 14, 2007 13:45

Mais tu veux faire ça pour quoi ?
Si tu nous explique plus globalement ce que tu veux faire, on pourra peut-etre te dire si la technique que tu veux mettre en oeuvre est bonne ou pas.

arnaken
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 14 Mar 2007

Message le Mer Mar 14, 2007 13:47

je veux transformer un fichier php avec une variable en fichier html dur pour éviter tout appel à la base de données.


arnaudmn
WRInaute passionné
WRInaute passionné
 
Messages: 1542
Inscription: 11 Mai 2005

Message le Mer Mar 14, 2007 13:47

T'as essayé un exempe simple ?
du style : un fichier fichier1.php avec dedans :
$var=1;
include("fichier2.php");

Et un fichier fichier2.php avec dedans :
echo $var;

Si ça affiche pas "1", y'a un problème.
Si c'est en local sur ton pc, faut nous dire le php que tu as installé. Et si c'est un hebergeur, nous dire chez qui tu as ça.

RomsIW
WRInaute passionné
WRInaute passionné
 
Messages: 1143
Inscription: 25 Mai 2004

Message le Mer Mar 14, 2007 13:51

arnaudmn a écrit:T'as essayé un exempe simple ?
du style : un fichier fichier1.php avec dedans :
$var=1;
include("fichier2.php");

Et un fichier fichier2.php avec dedans :
echo $var;

Si ça affiche pas "1", y'a un problème.
Si c'est en local sur ton pc, faut nous dire le php que tu as installé. Et si c'est un hebergeur, nous dire chez qui tu as ça.
+1 ça doit fonctionner ainsi

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Mer Mar 14, 2007 13:53

arnaken a écrit:je veux transformer un fichier php avec une variable en fichier html dur pour éviter tout appel à la base de données.


je te conseille d'utiliser les buffers dans ce cas
tu récupères la sortie standard
et tu écris le tout dans une fichier html et hop

arnaken
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 6
Inscription: 14 Mar 2007

Message le Mer Mar 14, 2007 14:04

c'est bon, j'ai repéré d'où venait le problème : je faisais dans les deux fichiers un require sur un fichier contenant les mêmes fonctions et ça bloquait l'exécution de la page incluse. Merci ! (il ne me reste plus qu'à réussir à utiliser le buffer maintenant !)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité