Écrire et lire un objet php dans un fichier texte?

je veux écrire un objet php dans un fichier texte. L'objet php est comme ça

 $obj = new stdClass();
 $obj->name = "My Name";
 $obj->birthdate = "YYYY-MM-DD";
 $obj->position = "My position";

je veux écrire ce $obj dans un fichier texte. Le fichier texte est situé dans ce chemin

$filePath = getcwd().DIRECTORY_SEPARATOR."note".DIRECTORY_SEPARATOR."notice.txt"

je veux un moyen simple d'écrire cet objet dans le fichier texte et que vous voulez lire le fichier pour obtenir les propriétés que j'ai défini. S'il vous plaît aider moi.

Merci à l'avance.

13
demandé sur Nantu 2013-09-08 10:27:42

2 réponses

vous pouvez utiliser le code suivant pour écrire l'objet php dans le fichier texte...

$obj = new stdClass();
$obj->name = "My Name";
$obj->birthdate = "YYYY-MM-DD";
$obj->position = "My position";

$objData = serialize( $obj);
$filePath = getcwd().DIRECTORY_SEPARATOR."note".DIRECTORY_SEPARATOR."notice.txt";
if (is_writable($filePath)) {
    $fp = fopen($filePath, "w"); 
    fwrite($fp, $objData); 
    fclose($fp);
}

Pour lire le fichier texte pour obtenir les propriétés que vous avez définies...

$filePath = getcwd().DIRECTORY_SEPARATOR."note".DIRECTORY_SEPARATOR."notice.txt";
if (file_exists($filePath)){
    $objData = file_get_contents($filePath);
    $obj = unserialize($objData);           
    if (!empty($obj)){
        $name = $obj->name;
        $birthdate = $obj->birthdate;
        $position = $obj->position;
    }
}
19
répondu Developer 2013-09-08 08:31:53

Vous pouvez utiliser serialize() avant de le sauvegarder dans le fichier et ensuite unserialize() pour obtenir l'ensemble de l' $obj disponible pour vous:

 $obj = new stdClass();
 $obj->name = "My Name";
 $obj->birthdate = "YYYY-MM-DD";
 $obj->position = "My position";
 $objtext = serialize($obj);
 //write to file

Puis, plus tard, vous pouvez unserialize():

 $obj = unserialize(file_get_contents($file));
 echo $obj->birthdate;//YYYY-MM-DD
3
répondu 2013-09-08 06:32:22