Search code examples
phpfilefopenfread

Write and read php object in a text file?


I want to write a php object in a text file. The php object is like that

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

I want to write this $obj in a text file. The text file is located in this path

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

I want a simple way to write this object into the text file and want to read the file to get the properties as I defined. Please help me.

Thanks in advance.


Solution

  • You can use the following code for write php object in the text file...

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

    To read the text file to get the properties as you defined...

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