Scrivere e leggere in oggetto php in un file di testo?

Voglio scrivere un oggetto php in un file di testo. Il php oggetto è come che

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

Voglio scrivere questo $obj in un file di testo. Il file di testo si trova in questo percorso

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

Ho voglia di un modo semplice per scrivere questo oggetto in un file di testo e si desidera leggere il file per ottenere le proprietà come ho definito. Si prega di aiutare me.

Grazie in anticipo.

InformationsquelleAutor Nantu | 2013-09-08



2 Replies
  1. 22

    È possibile utilizzare il seguente codice per scrivere php oggetto nel file di testo…

    $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);
    }

    Per leggere il file di testo per ottenere le proprietà come definito…

    $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;
        }
    }
    • Perfetto! Mi piace questo. Grazie mille.
  2. 3

    È possibile utilizzare serialize() prima di salvare il file e quindi unserialize() per ottenere l’intero $obj disponibili:

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

    Poi si può unserialize():

     $obj = unserialize(file_get_contents($file));
     echo $obj->birthdate;//YYYY-MM-DD
    • Funziona. Grazie mille.

Lascia un commento