Sauvegarder une variable

Sauvegarder une variable - PHP - Programmation

Marsh Posté le 03-01-2010 à 02:21:32    

Bonjour
 
J'aurai aimé savoir, en php, s'il y avait moyen pour sauvegarder le contenu d'une variable d'une ouverture de ma page à l'autre au dela de la durée de la connexion (si deux jours plus tard je veux récupérer ma variable par exemple)
J'ai pensé à écrire dans un fichier texte, mais y a-t-il une autre solution ?
 
Merci d'avance :)

Reply

Marsh Posté le 03-01-2010 à 02:21:32   

Reply

Marsh Posté le 03-01-2010 à 03:03:33    

soit session soit cookie, tu peu gérer la durée des 2

Reply

Marsh Posté le 03-01-2010 à 20:42:17    

ou base de données.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 06-01-2010 à 13:20:24    

-Les sessions ne vont par définition pas au dela de la durée de la session.

 

-Les cookie sont une solution mais ils dépendent du client, avec probablement des limitations dans la taille.

 

-La base de donnée est pas mal, mais il faut un schéma de base donnée.

 

Je rajouterais la solution que j'emploie: dumper les variables des fichiers: put_records sauvegarde, get_records va chercher, is_present permet de tester si le fichier existe. C'est mal ce que je fais? :o

 
Code :
  1. <?php
  2. //gestion d'un cache pour alleger la base de donnée
  3. $cache_dir="/home/www/cache";
  4. $no_cache=false;
  5. function put_records($records,$nom_fichier,$absolute=false)
  6. {
  7. global $cache_dir;
  8. $cible=($absolute==false)?"$cache_dir/$nom_fichier":"$nom_fichier";
  9. $rep_final_tab=explode("/",$cible);
  10. $rep_final_tab[count($rep_final_tab)-1]="";
  11. $rep_final="";
  12. foreach($rep_final_tab as $rep_final_element){$rep_final.="/".$rep_final_element;}
  13. $exist_rep=file_exists($rep_final);
  14. if ($exist_rep==false)
  15. {
  16.  $r=popen  ("mkdir $rep_final","r" );
  17.  mkdir=".fgets($r)."<br>";
  18.  $r=popen  ("chmod 777 $rep_final","r" );
  19.   chmod=".fgets($r)."<br>";
  20. }
  21. $handle=false;
  22. try{
  23. $handle=fopen($cible,"w" );
  24. $fichier=var_export($records,true);
  25. $tmp=fputs($handle,$fichier);
  26. fclose($handle);
  27. return $tmp;
  28. }
  29. catch(Exception $e)
  30. {
  31.  return false;
  32. }
  33. }
  34. function get_records($nom_fichier,$absolute=false)
  35. {
  36. global $cache_dir;
  37. $cible=($absolute==false)?"$cache_dir/$nom_fichier":"$nom_fichier";
  38. $handle=false;
  39. try{
  40.  $handle=fopen($cible,"r" );
  41.  if ($handle!==false)
  42.  {
  43.   $fichier="";
  44.   $tmp="";
  45.   while($chunk=fgets($handle))
  46.    $fichier.=$chunk;
  47.   $res_eval=eval('$tmp='.$fichier.";" );
  48.   if ($res_eval===false)
  49.   {
  50.    $errfile_res=fopen('FICHIER_ERREUR','a+');
  51.    fputs($errfile_res,"erreur de fichier syntaxe dans le cache\n".print_r(debug_backtrace(),true));
  52.   }
  53.   fclose($handle);
  54.   return $tmp;
  55.  }
  56.  else return false;
  57. }
  58. catch(Exception $e)
  59. {
  60.  $errfile_res=fopen('FICHIER_ERREUR','a+');
  61.  fputs($errfile_res,"erreur de fichier syntaxe dans le cache\n".print_r(debug_backtrace(),true));
  62.  return false;
  63. }
  64. }
  65. function is_present($nom_fichier,$absolute=false,$uptodate=false)
  66. {
  67. global $cache_dir;
  68. global $no_cache;
  69. if ($no_cache==true) return false;
  70. $cible=($absolute==false)?"$cache_dir/$nom_fichier":"$nom_fichier";
  71. if (file_exists($cible))
  72. {
  73.  if (!$uptodate)
  74.  {
  75.   return true;
  76.  }
  77.  else if (date ("F d Y", filemtime($cible)) == date ("F d Y" ))
  78.  {
  79.   return true;
  80.  }
  81.  else return false;
  82. }
  83. else return false;
  84. }
  85. ?>


Message édité par philippe06 le 06-01-2010 à 13:22:36

---------------
Aimer les femmes intelligentes est un plaisir de pédéraste. (Charles Baudelaire) - Vous vulgarisez :o (Jean-Kevin Dubois)
Reply

Marsh Posté le 06-01-2010 à 13:26:52    

la session peu etre persistante comme un cookie, y'a pas de soucis la dessus

Reply

Marsh Posté le 06-01-2010 à 13:28:19    

et la variable de session est accessible à d'autres sessions?

Message cité 1 fois
Message édité par philippe06 le 06-01-2010 à 13:35:58

---------------
Aimer les femmes intelligentes est un plaisir de pédéraste. (Charles Baudelaire) - Vous vulgarisez :o (Jean-Kevin Dubois)
Reply

Marsh Posté le 06-01-2010 à 14:05:56    

philippe06 a écrit :

et la variable de session est accessible à d'autres sessions?


 
techniquement c'est possible, mais vu la demande on se doute que la variable est par rapport au client et non au serveur

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed