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;
}
?>
Object Serialization
Moderator: General Moderators
Garrhhhraggaahhhh! Use the code tags please.
ABOVE CODE IN TAGS
mod_edit: and now with php tags and the original indents
The Function call pageThe class page
ABOVE CODE IN TAGS
mod_edit: and now with php tags and the original indents
Code: Select all
<?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);
}
?>Code: Select all
<?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);
}
?>Code: Select all
<?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;
}
?>- Templeton Peck
- Forum Commoner
- Posts: 45
- Joined: Sun May 11, 2003 7:51 pm