Nieuw lid |
|
Ik ben bezig met het cachen van een rss feed. Nu heb ik wel een goed caching script maar de RssReadFile() functie die werkt niet zo dat hij de goeie info terug geeft om op te slaan. Momenteel ziet mijn cache bestand er zo uit:
s:4 : "1111"; //de spaces moesten anders kreeg ik een icon
of zo
i:1;
Normaal zou mijn ReadRssFile() functie gewoon werken (als je het niet wil cachen maar in dit geval wil ik dat wel) Kan iemand voor mij de ReadRssFile() zo maken dat hij alles in het cache bestand kan zetten?
Greetz,
NightFox
//-- CacheXML() --\\
<?php
function CacheXML()
{
if ( !empty( $this->CacheDir ) )
{
$CacheFile = $this->CacheDir . 'rsscache_' . md5( $this->FeedUrl );
$timedif = @( time() - filemtime( $CacheFile ) );
if ( $timedif < $this->TimeOut )
{
//Cached file is still up-to-date
$result = unserialize( join( '', file( $CacheFile ) ) );
//
$this->Alertmsg( $this->ErrorInt = 0 .", ". $timedif );
//
}
else
{
// Cached file is too old, create new
$result = $this->ReadRssFile( $this->FeedUrl );
$serialized = serialize( $result );
if ( $f = @fopen( $CacheFile, 'w' ) )
{
fwrite ( $f, $serialized, strlen( $serialized ) );
fclose( $f );
}
//
$this->Alertmsg( $this->ErrorInt = 1 );
//
}
}
else
{
//Cache Dir is not set
$result = $this->ReadRssFile( $this->FeedUrl );
//
$this->Alertmsg( $this->ErrorInt = 0 );
//
}
return $result;
}
?>
<?php function CacheXML() { if ( !empty( $this->CacheDir ) ) { $CacheFile = $this->CacheDir . 'rsscache_' . md5( $this->FeedUrl ); if ( $timedif < $this->TimeOut ) { //Cached file is still up-to-date // $this->Alertmsg( $this->ErrorInt = 0 .", ". $timedif ); // } else { // Cached file is too old, create new $result = $this->ReadRssFile( $this->FeedUrl ); if ( $f = @fopen( $CacheFile, 'w' ) ) { } // $this->Alertmsg( $this->ErrorInt = 1 ); // } } else { //Cache Dir is not set $result = $this->ReadRssFile( $this->FeedUrl ); // $this->Alertmsg( $this->ErrorInt = 0 ); // } return $result; } ?>
//-- ReadRssFile() --\\
<?php
function ReadRssFile( $Feed )
{
if( !$fp = fopen( $Feed, "r" ) )
{
die( "Couldn't open XML Input." );
}
while( $data = fread( $fp, $this->datastream ) )
{
if( !$parse = xml_parse( $this->FeedParse, $data, feof( $fp ) ) )
{
die( "Error in reading xml source." );
}
}
fclose( $fp );
xml_parser_free( $this->FeedParse );
return $parse;
}
?>
<?php function ReadRssFile( $Feed ) { if( !$fp = fopen( $Feed, "r" ) ) { die( "Couldn't open XML Input." ); } while( $data = fread( $fp, $this->datastream ) ) { if( !$parse = xml_parse( $this->FeedParse, $data, feof( $fp ) ) ) { die( "Error in reading xml source." ); } } return $parse; } ?>
|