Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1347 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] partager des données sans BDD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] partager des données sans BDD

n°773563
k666
dites non à petitmou
Posté le 23-06-2004 à 00:06:31  profilanswer
 

salut
j'aimerais développer un chat qui n'utilise ni mysql ni des fichiers
donc je ne sais pas comment garder l'état (ou au moins les dernières lignes de chat) pour que les utilisateurs puissent se voir entre eux...
si vous aviez une idée de comment faire ça :)

mood
Publicité
Posté le 23-06-2004 à 00:06:31  profilanswer
 

n°773655
Profil sup​primé
Posté le 23-06-2004 à 01:22:46  answer
 

ni SQL ni Fichiers...la je vois pas
y stocker en mémoire vive? comment?

n°773686
gooopil
pfiew
Posté le 23-06-2004 à 02:54:05  profilanswer
 

Avant de poser cette question, est ce que tu t'es demandé pourquoi tu n'utiliserais pas mysql ou des fichiers ?  
 
PS : j'aimerais concevoir un ordinateur qui fonctionne sans processeur, quelqu'un peut m'aider à trouver comment ;)


Message édité par gooopil le 23-06-2004 à 02:54:46
n°773764
k666
dites non à petitmou
Posté le 23-06-2004 à 09:15:46  profilanswer
 

j'ai regardé un peu du coté de shmop_open et ce genre de trucs mais personne semble avoir utilisé ça jamais :/
en fait j'aimerais faire une sorte de chat hyper simplifié pour pouvoir l'installer n'importe ou chez n'importe quel hosting et le mieux serait de faire un truc sans bdd ni files!

n°773766
Lord II
PIB2000
Posté le 23-06-2004 à 09:17:56  profilanswer
 

De toute facon, des fichiers seront utilisés, si ce n'est de manière explicite ce le sera de manière implicte

n°773784
k666
dites non à petitmou
Posté le 23-06-2004 à 09:26:51  profilanswer
 

pas dans la technique avec shmop à priori, mais je sais pas comment m'en servir et c pour ca que je poste ici
 
ca roule lordii ? :D

n°773796
Lord II
PIB2000
Posté le 23-06-2004 à 09:34:13  profilanswer
 

Ca roule car j'ai retrouvé un taf et toi comment ca se passe , des news de zop?
 
Moi, je ne vois pas de difficulté avec shmop, tu fais un shmop_open, et ensuite tu peux écrire des chaines de caractères dedans.
 
Le seul truc, c'est qu'il faut un identifiant que tu peux obtenir via ftok().
 
Il me semble que l'exemple fourni en bas de page de shmop_open est assez explicite ( http://www.php.net/manual/en/function.shmop-open.php )

n°773810
k666
dites non à petitmou
Posté le 23-06-2004 à 09:38:41  profilanswer
 

oui je l'ai vu,
mais en fait, j'aimerais faire un script basique pour tester;
 
test1.php insèrerait (créer ou appender) dans une variable shmop des données, et depuis un autre script test2.php lire le contenu de la variable si elle existe
 
mais j'y arrive po
 
tu bosses sur paris ?

n°773871
Lord II
PIB2000
Posté le 23-06-2004 à 09:57:49  profilanswer
 

A Issy, c'est pas très loin
 
Pour ton affaire,
Il faut créer la zone de mémoire, puis je pense qu'il faut transmettre le key ( systeme id ) via une session.
 
Ensuite dans la deuxième page tu réopen via shmop_open, puis shmop_read

n°774013
k666
dites non à petitmou
Posté le 23-06-2004 à 11:08:06  profilanswer
 

hum kelkun aurait il un exemple concret ? paske j'ai testé les trucs et ça ne marche pas top :'(

mood
Publicité
Posté le 23-06-2004 à 11:08:06  profilanswer
 

n°774066
Lord II
PIB2000
Posté le 23-06-2004 à 11:31:05  profilanswer
 

montre nous un peu ce que tu as codé, que l'on ne parte pas de rien

n°774238
k666
dites non à petitmou
Posté le 23-06-2004 à 13:57:13  profilanswer
 

yo!
eh bien tout siemplement, j'ai une page qui écrit, et l'autre qui doit lire le contenu de la mémoire partagée;
j'ai donc simplement repris l'exemple donné dans différents sites:
 
write.php

Code :
  1. <?php
  2. // Create 100 byte shared memory block with system id if 0xff3
  3. $shm_id = shmop_open(0xff3, "c", 0644, 100);
  4. if(!$shm_id) {
  5.     echo "Couldn't create shared memory segment\n";
  6. }
  7. // Get shared memory block's size
  8. $shm_size = shmop_size($shm_id);
  9. echo "<br>SHM Block Size: ".$shm_size. " has been created.\n";
  10. // Lets write a test string into shared memory
  11. $shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
  12. if($shm_bytes_written != strlen("my shared memory block" )) {
  13.     echo "<br>Couldn't write the entire length of data\n";
  14. }
  15. // Now lets read the string back
  16. $my_string = shmop_read($shm_id, 0, $shm_size);
  17. if(!$my_string) {
  18.     echo "<br>Couldn't read from shared memory block\n";
  19. }
  20. echo "<br>The data inside shared memory was: ".$my_string."\n";
  21. //Now lets delete the block and close the shared memory segment
  22. if(!shmop_delete($shm_id)) {
  23.     echo "<br>Couldn't mark shared memory block for deletion.";
  24. }
  25. shmop_close($shm_id);
  26. ?>


 qui donne ===>
 

Code :
  1. SHM Block Size: 100 has been created.
  2. The data inside shared memory was: my shared memory block


 
puis une page read.php:
 

Code :
  1. <?
  2. $shm_id = shmop_open(0xff3, "a", 0644, 100);
  3. echo $shm_id;
  4. ?>


 
qui donc ouvre simplement en mode append ... par contre le résultat de celle ci est décevant:

Code :
  1. Warning: shmop_open(): unable to attach or create shared memory segment in /var/www/localhost/htdocs/chat/read.php on line 2


 
voila
si kelkun a une idée ? ce que j'aimerais faire c avoir une variable globale accessible interscripts donc en mémoire partagée (car pas de bdd ni de fileio)
l'idéal serait de pouvoir éventuellement y fouttre un objet php sérialisé et zippé, pour ainsi faire un chat dans lequel je désérialise et rajoute du texte, ou je désérialise et lit le texte dedans ....
 
voilà merci :)

n°774502
k666
dites non à petitmou
Posté le 23-06-2004 à 16:16:43  profilanswer
 

je vois pas ou est mon erreur en fait :/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] partager des données sans BDD

 

Sujets relatifs
[RESOLU]Peut on attraper un utilisateur aleatoirement dans une bdd?[Erreur php] Undefined offset
[PHP] Un CMS pour un club de sport[php]Comment affiche une pop up en php
[PHP] session + include = problemePHP + MYSQL >> tuto pour faire un tableau avec des donnée
php vs aspMettre un bmp (ses données ) ds un tableau
créer un lien vers un phpempecher un fichier php de s'executer...
Plus de sujets relatifs à : [PHP] partager des données sans BDD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR