JeuWeb - Crée ton jeu par navigateur
[PHP] Sauvegarde de scores -> Créer un fichier tampon - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [PHP] Sauvegarde de scores -> Créer un fichier tampon (/showthread.php?tid=5204)

Pages : 1 2 3


RE: [PHP] Sauvegarde de scores -> Créer un fichier tampon - Furukoo - 27-02-2011

Merci Sephi je vais tester ça ^^


RE: [PHP] Sauvegarde de scores -> Créer un fichier tampon - php_addict - 27-02-2011

je peut te demander pourquoi tu veux stocker ca dans un fichier texte ? quel est l'intérêt pour toi de faire ca ?


RE: [PHP] Sauvegarde de scores -> Créer un fichier tampon - Furukoo - 27-02-2011

(27-02-2011, 09:37 PM)php_addict a écrit : je peut te demander pourquoi tu veux stocker ca dans un fichier texte ? quel est l'intérêt pour toi de faire ca ?

C'est juste un tableau de score.
J'ai pas besoin d'une BD.
Un fichier texte me semble plus léger et plus rapide qu'une BD dans ce cas là.


RE: [PHP] Sauvegarde de scores -> Creer un fichier tampon - Furukoo - 28-02-2011

Bonjour

$scores = json_decode($scores_as_json, true);

J'ai un problème avec json_decode
Le tableau $scores ne se remplit pas.
Pourtant le fichier scores.json est ok lui.

Il y a pas un problème avec UTF8 et json_decode ?

Merci


RE: [PHP] Sauvegarde de scores -> Créer un fichier tampon - Sephi-Chan - 28-02-2011

Il faut que $scores_as_json soit une chaîne encodée en UTF-8.


RE: [PHP] Sauvegarde de scores -> Créer un fichier tampon - Furukoo - 28-02-2011

(28-02-2011, 02:28 PM)Sephi-Chan a écrit : Il faut que $scores_as_json soit une chaîne encodée en UTF-8.

J'ai essayé ça mais sans succès Sad



$scores_as_json = json_encode(utf8_encode($scores));



RE: [PHP] Sauvegarde de scores -> Créer un fichier tampon - Sephi-Chan - 28-02-2011

Essaye de créer le fichier scores.json à la main, d'y insérer le code suivant et de bien l'enregister en UTF-8.


{"robert":40,"jacky":20}

Ensuite, voit ce que donne le code suivant :



$scores_as_json = file_get_contents('scores.json');
$scores = json_decode($scores_as_json);
print_r($scores);

Et si ça ne fonctionne pas comme attendu, essaye ainsi :


$scores_as_json = '{"robert":40,"jacky":20}';
$scores = json_decode($scores_as_json);
print_r($scores);

Et voit ce que ça donne. Smile


Sephi-Chan


RE: [PHP] Sauvegarde de scores -> Créer un fichier tampon - Furukoo - 02-03-2011

Voilà le script auquel je suis arrivé grace a vos indications.
Il reste un fichier tampon t.
(J'essaye de parser directement le fichier json j avec Silverlight donc il pourrait y avoir encore un gain)


<?php
if($_POST['u']!=''){
$c=array();
$s=json_decode(utf8_encode(file_get_contents('j')),true);
$d=intval($_POST['d']);
switch (isset($s[$_POST['u']])){
case 1:
if($s[$_POST['u']]>$d){}else{break;}
default:
$s[$_POST['u']]=$d;
file_put_contents('j', json_encode($s));
foreach ($s as $k => $v){array_push($c,sprintf("%05d", $v).' '.$k);}
file_put_contents('t','["'.implode('","', $c).'"]');
break;
}
}
echo file_get_contents('t');
?>

A noter j'ai réussi à supprimer la fonction pour écrire le fichier tampon avec un switch case.
Evidemment ça ressemble a du bricolage mais c'est très rapide et donc on ouvre seulement
2 fichiers.

Merci pour votre aide


RE: [PHP] Sauvegarde de scores -> Créer un fichier tampon - Furukoo - 02-03-2011

En fait je trouve pas dans Silverlight Sad


Les dictionnaires ne permettent pas de travailler directement avec JSON.
Il est possible que Dictionary<string,object> ne soit pas pris en charge dans WCF
de la même manière qu'avec les autres technologies JSON.
Par exemple, si "abc" est mappé à "xyz" et "def" est mappé à 42 dans un dictionnaire,
la représentation JSON n'est pas
{"abc":"xyz","def":42}, mais
[{"Key":"abc","Value":"xyz"},{"Key":"def","Value":42}].
J'ai l'impression que je suis obligé de définir un contrat rigide.

Est ce qu'on peut parvenir à générer un fichier json formaté de cette façon avec php ?

Encore merci


RE: [PHP] Sauvegarde de scores -> Créer un fichier tampon - atra27 - 02-03-2011

$i=0;
foreach($array AS $key => $value){
$array_result[$i]['Key']=$key;
$array_result[$i]['Value']=$value;
++$i;
}
json_encode($array_result);