<?php
 
require_once('Extended_resource.class.php');
 
 
echo '<pre>';
 
$x=new resource('fopen("'.str_replace("\\","/",__FILE__).'","rb+")');
 
$x->dump();
 
 
echo'<br>';
 
echo'<br>';
 
 
$x->export();
 
echo'<br>';
 
echo'<br>';
 
 
print_r($x);
 
echo'<br>';
 
echo'<br>';
 
 
var_dump(
 
$x->type(),
 
ftell($x->use_resource())
 
);
 
 
 
fseek($x->use_resource(),98);
 
 
$u=$x->use_resource();
 
echo'<br>';
 
echo'<br>';
 
var_dump(ftell($u));
 
echo'<br>';
 
echo'<br>';
 
 
var_dump($y=serialize($x));
 
echo'<br>';
 
echo'<br>';
 
 
var_dump(unserialize($y));
 
echo'<br>';
 
echo'<br>';
 
 
try{
 
    resource();
 
}catch (Exception $e) {
 
    echo 'Exception  : ',  $e->getMessage(), "\n";
 
}
 
echo'<br>';
 
echo'<br>';
 
 
$u=var_export(unserialize($y),true);
 
echo'<br>';
 
echo'<br>';
 
 
eval('$t = '.$u.';');
 
 
var_dump($t);
 
 
 
var_dump(clone($t));
 
 
class test{
 
    public $property,$position=null;
 
    
 
    public function __construct(){
 
        $this->property=resource('fopen("'.str_replace("\\","/",__FILE__).'","rb+")');
 
        
 
    }
 
    
 
    public function seek($position,$whence=false){
 
        fseek($this->property->use_resource(),$position,$whence);
 
        $this->position=$position;
 
    }
 
    
 
    
 
    public function gets($length=null){
 
        if(is_int($length)) $line=fgets($this->property->use_resource(),$length);
 
        else $line=fgets($this->property->use_resource());
 
        $this->position=ftell($this->property->use_resource());
 
        return $line;
 
            
 
    }
 
    
 
    public function tell(){
 
        return $this->position;
 
    }                
 
                        
 
    public function __wakeup(){
 
        $this->seek($this->position);
 
    }
 
                    
 
                    
 
}
 
 
$test= new test();
 
 
var_dump($test);
 
$content='';
 
while($line=$test->gets()){
 
    $content.=$line;
 
    var_dump($test->tell());
 
}
 
 
highlight_string($content);
 
 
$test2=serialize($test);
 
echo'<br>';
 
echo'<br>';
 
 
print_r($test2=unserialize($test2));
 
echo'<br>';
 
echo'<br>';
 
var_dump($test2->tell());
 
 
 
?>
 
 |