Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

RSS generator klasa

[es] :: PHP :: RSS generator klasa

[ Pregleda: 2549 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

djordje
Novi Sad

Član broj: 3704
Poruke: 1725
*.dynamic.sbb.co.yu.



+3 Profil

icon RSS generator klasa08.04.2007. u 18:55 - pre 206 meseci
Ima li neko preporuku za gotovu klasu za kreiranje RSS-a?
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: RSS generator klasa08.04.2007. u 21:58 - pre 206 meseci
feedcreator.class.php

Dovoljno je standardizovan da ga možeš naći svogde po netu.
Mada koliko mi se čini to je napušten projekat, stalo se sa Atom 0.3,
ali našao sam, dali u Joomli ili Mambu, koriste unapredjenu verziju sa podrškom za Atom 1.0

"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

djordje
Novi Sad

Član broj: 3704
Poruke: 1725
*.dynamic.sbb.co.yu.



+3 Profil

icon Re: RSS generator klasa09.04.2007. u 14:05 - pre 206 meseci
Nisam stigao da bas detaljno pogledam kod ove skripte, samo sam je testirao na brzinu. Cini mi se da uvek kreira isti feed.xml za svaki feed koji napravim. pitanje je sledece: Sta ako neko recimo ucitava rss1.php i u isto vreme drugi korisnik ucitava rss2.php koji generisu fajlove istog naziva (feed.xml) sa razlicitim sadrzajem?
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: RSS generator klasa09.04.2007. u 17:39 - pre 206 meseci
Ti mu prosleđuješ naziv datoteke:
opciono na počektu: $rss->useCached($Format, $FileName, 60); // 1 minut
na kraju skripte: $rss->saveFeed($Format, $FileName, true);

Keširanje je opciono ali ubrzava rad kod jako posećenog sajta.
$FileName možeš dinamički kreirati tako da sadrži Id oznaku svakog feed-a pa neće biti preklapanja.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

djordje
Novi Sad

Član broj: 3704
Poruke: 1725
*.dynamic.sbb.co.yu.



+3 Profil

icon Re: RSS generator klasa09.04.2007. u 18:07 - pre 206 meseci
E hvala puno! Nisam bio lenj da pogledam, samo nisam stigao.
 
Odgovor na temu

djordje
Novi Sad

Član broj: 3704
Poruke: 1725
*.dynamic.sbb.co.yu.



+3 Profil

icon Re: RSS generator klasa09.04.2007. u 19:42 - pre 206 meseci
Imam jos jedno pitanje u vezi keshiranja. Uzmimo ovaj njihov primer (koji sam modifikovao da dodje 1000 elemenata u feed radi lakseg "benchmarka"):


Code:


<?php

include("./include/feedcreator.class.php"); 

$rss = new UniversalFeedCreator(); 
$rss->useCached("RSS0.91", "tstfilename.xml", 600); // use cached version if age<1 hour
$rss->title = "PHP news"; 
$rss->description = "daily news from the PHP scripting world"; 

//optional
$rss->descriptionTruncSize = 500;
$rss->descriptionHtmlSyndicated = true;

$rss->link = "http://www.dailyphp.net/news"; 
$rss->syndicationURL = "http://www.dailyphp.net/".$_SERVER["PHP_SELF"]; 

$image = new FeedImage(); 
$image->title = "dailyphp.net logo"; 
$image->url = "http://www.dailyphp.net/images/logo.gif"; 
$image->link = "http://www.dailyphp.net"; 
$image->description = "Feed provided by dailyphp.net. Click to visit."; 

//optional
$image->descriptionTruncSize = 500;
$image->descriptionHtmlSyndicated = true;

$rss->image = $image; 

// get your news items from somewhere, e.g. your database: 

for ($i=0; $i<1000; $i++) { 
    $item = new FeedItem(); 
    $item->title = "naslov $i"; 
    $item->link = "http://www.google.com"; 
    $item->description = "opis $i"; 
    
    //optional
    $item->descriptionTruncSize = 500;
    $item->descriptionHtmlSyndicated = true;

    $item->date = "danasnji datum";
    $item->source = "http://www.dailyphp.net"; 
    $item->author = "John Doe"; 
     
    $rss->addItem($item); 
}
echo $rss->saveFeed("RSS1.0", "tstfilename.xml", true);
?>



Postoji li nacin da unapred utvrdimo da li postoji keshiran fajl pre citave ove for petelje kako je ne bismo ni izvrsavali ako nije potrebna? Mislim, nije tesko izmeniti ali me zanima da li vec postoji neka funkcija koja mi govori da kesh postoji i da je napravljen u odredjenom roku, recimo sat po defaultu.

Nesto sto bi izgledalo otprilike ovako:
Code:

// get your news items from somewhere, e.g. your database: 
if(!$rss->iscashed()){
for ($i=0; $i<1000; $i++) { 
    $item = new FeedItem(); 
    $item->title = "naslov $i"; 
    $item->link = "http://www.google.com"; 
    $item->description = "opis $i"; 
    
    //optional
    $item->descriptionTruncSize = 500;
    $item->descriptionHtmlSyndicated = true;

    $item->date = "danasnji datum";
    $item->source = "http://www.dailyphp.net"; 
    $item->author = "John Doe"; 
     
    $rss->addItem($item); 
}
}
echo $rss->saveFeed("RSS1.0", "tstfilename.xml", true);
 
Odgovor na temu

djordje
Novi Sad

Član broj: 3704
Poruke: 1725
*.dynamic.sbb.co.yu.



+3 Profil

icon Re: RSS generator klasa09.04.2007. u 19:54 - pre 206 meseci
Evo da sam sebi odgovorim. Ne postoji metoda koja kaze da li je feed kesiran ili ne, ali se svakako vrsi redirekcija na XML ako postoji pa se ostatak skripte i ne izvrsava posle use cashed.

Neka me neko ispravi akko gresim
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.sbb.co.yu.



+19 Profil

icon Re: RSS generator klasa09.04.2007. u 21:38 - pre 206 meseci
Negde iz useCached se poziva _redirect ako smatra da je keš dovoljno svež,
a u _redirect imaš die(); tako da skript ne ide dalje.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

djordje
Novi Sad

Član broj: 3704
Poruke: 1725
*.dynamic.sbb.co.yu.



+3 Profil

icon Re: RSS generator klasa11.04.2007. u 01:00 - pre 206 meseci
PRegledao sam kod detaljnije danas. Hvala na pomoci, znacilo je mnogo!
 
Odgovor na temu

[es] :: PHP :: RSS generator klasa

[ Pregleda: 2549 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.