Mettre un fichier php en variable

Par flo3376, il y a 9 ans


Bonjour à tous,

Comme on mon habitude je viens vous soliciter avec un besoin tordu.

je souhaiterai lire un fichier php dans lequel il y a un tableau, le mettre dans une variable et utiliser cette variable comme si le tableau avait été fait dessus.

mon fichier que je veux inclure.

<?php $player_file= array( 'name' => 'Flo-FFS2', 'ip' => 'erPatH6OtFNJ1Xys8OcTRnc+c90gAjUXNJpIZ9hgluItWy0tSVYtWy3HNZAdayJmtl6w7vJkyr+kRYAwDOmK81IegrC/fwihqQ==', 'port' => '49152', 'online' => '1', 'level' => '0', 'statut' => '5', 'time' => '1477122660', 'serial' => '20060413092100003', ); ?>

et ce que j'ai déja essayer de faire mais sans résultat

<?php //écriture du fichier $temp_data_player=New stdClass(); $temp_data_player->name=$username; $temp_data_player->ip=encrypt($_SERVER["REMOTE_ADDR"], key); $temp_data_player->port=strval($xml->verify->port); $temp_data_player->online='1'; $temp_data_player->level='0'; $temp_data_player->statut='5'; $temp_data_player->time=time(); $temp_data_player->serial=strval($xml->serial); $me= New Player($temp_data_player); $me->w_file(); //lecture du fichier $me_player=include('./bd_light/player/'.$username.'.php'); echo $me_player['time']; //eval($me_player); //$me_player= inclued_get_data('./bd_light/player/'.$username.'.php'); //var_dump($me_player); ?>

et ce que je souhaiterai faire

$me_player=include('./bd_light/player/'.$username.'.php'); echo $me_player['time'];

et que cela me retoune: 1477122660
l'écriture du fichier se fait bien , je le vois et il est conforme, pas de message d'erreur lors de l'include, donc je suppose que je ne dois pas utiliser la bonne méthode, mais mon echo est vide.

Pourriez vous me conseillez.

merci d'avance
Flo

5 réponses

flo3376, il y a 9 ans

je viens d'essayer ceci

$me_player=eval(file_get_contents('./bd_light/player/Flo-FFS2.php')); var_dump($me_player);

avec un fichier différent

array( 'name' => 'Flo-FFS2', 'ip' => 'cAatmke53tjjCH+fSBJFh2ZYi+sv8j6riUkWWv1u36AtWy0tSVYtWy1ohwHYQIQ6VD+fbyFWZlvlTbe/0Jx4XqHAxuyPyN2pjw==', 'port' => '49152', 'online' => '1', 'level' => '0', 'statut' => '5', 'time' => '1477128373', 'serial' => '20060413092100003', );

mais cela est toujours muet.

balo, il y a 9 ans

Je te déconseilles d'utiliser la fonction eval pour des raisons de sécurité.
Les fonctions "ob_" feront le taff :

ob_start(); include('./bd_light/player/'.$username.'.php'); $me_player = ob_get_contents();
flo3376, il y a 9 ans

négatif ,j'ai essayé, mais cela n'est pas interprété

ob_start(); include('./bd_light/player/'.$username.'.php'); $me_player = ob_get_contents(); ob_end_clean(); var_dump($me_player['serial']);

voici l'erreur

<span style='color: #ff0000'><br /> <b>Warning</b>: Illegal string offset 'serial' in <b>/home/ffsimulateur2/www/mark_5/trk_light/trk_light_4/tks_verify.php</b> on line <b>24</b><br /> </span>string(1) "a"
intelligid, il y a 9 ans
<?php return array( 'name' => 'Flo-FFS2', 'ip' => 'erPatH6OtFNJ1Xys8OcTRnc+c90gAjUXNJpIZ9hgluItWy0tSVYtWy3HNZAdayJmtl6w7vJkyr+kRYAwDOmK81IegrC/fwihqQ==', 'port' => '49152', 'online' => '1', 'level' => '0', 'statut' => '5', 'time' => '1477122660', 'serial' => '20060413092100003', ); ?> <?php $player = require 'fichier.php'; ?>

;)

flo3376, il y a 9 ans

je n'aurai pas penser au return, merci intelligid et balo