I'm trying to serialize an object and write it to file but I keep getting this message: Warning: fwrite(): supplied argument is not a valid stream resource files.inc on line 20
which is from this code:
<?php
function write_person_object($fn, $person)
{
$handle = -1;
if(is_readable($fn) == true)
{
$handle = fopen($fn, "a");
}
if($handle == -1)
{
echo "invalid file handle";
return;
}
$plain_bytes = serialize($person);
fwrite($fn,$plain_bytes);
}
?>
The Function call page
<?php
include 'cpeople.inc';
include 'files.inc';
$name = "";
$number = "";
if(isset($_POST['save']))
{
if(isset($POST['number']))
{
$number = $POST['number'];
}
if(isset($POST['name']))
{
$name = $POST['name'];
}
$person = new people_t();
$person->set_name($name);
$person->set_number($number);
write_person_object("test.obj",$person);
}
?>
The class page
<?php
class people_t
{
function people_t()
{
$name = "";
$number = "";
}
function set_name($name)
{
if($name != "")
{
$this->name = $name;
}
else
{
echo "You cannot enter a blank name";
}
}
function get_name()
{
return $this->name;
}
function set_number($number)
{
if($number != "")
{
$this->number = $number;
}
else
{
echo "You cannot enter a blank number";
}
}
function get_number()
{
return $this->number;
}
var $name;
var $number;
}
?>