Voici mon probleme :
J'ai une classe qui s'initialise avec des valeurs, sur mon ordi en
local. Une fois initialisée, je sérialize l'objet, le sauvegarde, le
transmet sur un serveur par FTP, le déserialize tout cela avec succès,
le problème est que je ne parviens pas à initialiser l'objet désérializé
dans une variable et donc je ne peux pas l'utiliser, mais je peux
l'afficher. Par contre si je fais tout en local cela fonctionne.
Pouvez vous m'indiquer comment récupérer une classe avec serialize et
unserialize sur deux ordi différents ?
Merci d'avance
class.inc (existe en local et sur le serveur)
<?
Class a {
var $var1;
var $var2;
function a() {
$var1 = recupereValeur(1); //valeurs prises dans une BD
$var2 = recupereValeur(2); //ca chez moi ca marche bien
}
function affiche() {
echo $var1."-".$var2;
}
}
?>
page1.php (en local)
<?
include("class
$obj = new a();
$str = serialize($this);
page2.php (sur le serveur)
<?
include("class.inc");
$fp = fopen("fichier.php", "r");
$str = fread ($handle, filesize ("database.php"));
// jusqu'ici ca marche
$s = implode("", @file("database.php"));
unserialize($s);
// a l'affichage je constate que je récupère bien les données de l'objet
// mais comment mettre tout çà dans une variable pour l'utiliser :
// par exemple en faisant $obj->affiche()
?>
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Etienne SOBOLE
Voici mon probleme : J'ai une classe qui s'initialise avec des valeurs, sur mon ordi en local. Une fois initialisée, je sérialize l'objet, le sauvegarde, le transmet sur un serveur par FTP, le déserialize tout cela avec succès, le problème est que je ne parviens pas à initialiser l'objet désérializé dans une variable et donc je ne peux pas l'utiliser, mais je peux l'afficher. Par contre si je fais tout en local cela fonctionne.
ce qu'il te manque c'est la définition de l'objet. la serialization ne gère que les données de ton objet.
sur ton serveur source tu as la classe définit quelques part... il te la faut aussi sur le serveur destination.
ou alors tu la cast en StdClass (j'ai jamains essayé ceci dit) et si t'arrive a faire ca de l'autre coté ca marchera nickel, sauf que tu n'aura pas les méthode de ta classe evidement.
Ai je été clair? Etienne
Voici mon probleme :
J'ai une classe qui s'initialise avec des valeurs, sur mon ordi en local.
Une fois initialisée, je sérialize l'objet, le sauvegarde, le transmet sur
un serveur par FTP, le déserialize tout cela avec succès, le problème est
que je ne parviens pas à initialiser l'objet désérializé dans une variable
et donc je ne peux pas l'utiliser, mais je peux l'afficher. Par contre si
je fais tout en local cela fonctionne.
ce qu'il te manque c'est la définition de l'objet.
la serialization ne gère que les données de ton objet.
sur ton serveur source tu as la classe définit quelques part...
il te la faut aussi sur le serveur destination.
ou alors tu la cast en StdClass (j'ai jamains essayé ceci dit) et si
t'arrive a faire ca de l'autre coté ca marchera nickel, sauf que tu n'aura
pas les méthode de ta classe evidement.
Voici mon probleme : J'ai une classe qui s'initialise avec des valeurs, sur mon ordi en local. Une fois initialisée, je sérialize l'objet, le sauvegarde, le transmet sur un serveur par FTP, le déserialize tout cela avec succès, le problème est que je ne parviens pas à initialiser l'objet désérializé dans une variable et donc je ne peux pas l'utiliser, mais je peux l'afficher. Par contre si je fais tout en local cela fonctionne.
ce qu'il te manque c'est la définition de l'objet. la serialization ne gère que les données de ton objet.
sur ton serveur source tu as la classe définit quelques part... il te la faut aussi sur le serveur destination.
ou alors tu la cast en StdClass (j'ai jamains essayé ceci dit) et si t'arrive a faire ca de l'autre coté ca marchera nickel, sauf que tu n'aura pas les méthode de ta classe evidement.