2013-09-08 10 views
11

Voglio scrivere un oggetto php in un file di testo. L'oggetto php è come quellaScrivere e leggere l'oggetto php in un file di testo?

$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" 

Voglio un modo semplice per scrivere questo oggetto nel file di testo e si desidera leggere il file per ottenere le proprietà come ho definito. Mi aiuti per favore.

Grazie in anticipo.

risposta

15

Puoi utilizzare il seguente codice per scrivere oggetto php 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 è stato 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; 
    } 
} 
+0

Perfetto! Mi piace questo. Molte grazie. – Nantu

3

È possibile utilizzare serialize() prima di salvarlo per il file e quindi unserialize() per ottenere l'intera $obj a vostra disposizione:

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

Poi, più tardi si può unserialize():

$obj = unserialize(file_get_contents($file)); 
echo $obj->birthdate;//YYYY-MM-DD 
+0

Funziona. Molte grazie. – Nantu

Problemi correlati