- Hálózatokról alaposan
- Sokat fogyaszt az AI, egyre több az adatközpont, kell az atomenergia
- A franciáknak elege van abból, hogy minden gyerek mobilozik
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- Adobe Illustrator kérdések
- Kínai cégek segítik ezentúl a Teslát, a Renault-t, a Hyundait és a Toyotát
- Crypto Trade
- Hálózati / IP kamera
- SkyShowtime
- Telekom otthoni szolgáltatások (TV, internet, telefon)
Új hozzászólás Aktív témák
-
burgatshow
veterán
Hali! Elkezdte birizgálni az agyamat, és a látottak alapján tökre tetszik. A kérdésem az az, hogy van e valami dokumentáció mert az rss.lap.hu-n semmit sem találtam, viszont rohadtul meg akarom tanulni. Átlestem az rss-es témákat itt a PH-n de azokban nem az én problémáimmal foglalkoznak, és mivel oda is írtam de mindenki le se szarta ezért gondoltam, ha új totyikba kerül talán többet fog élni!
Köszönöm! -
burgatshow
veterán
Csak van valaki aki ért az XML-hez!
-
Fisha
őstag
válasz burgatshow #1 üzenetére
Most az xml erdekel ugy altalaban, vagy csak konkretan az rss?
-
X-COM
nagyúr
válasz burgatshow #4 üzenetére
az rss, egy meghatározott sablonra épülő xml
nekem kb. ennyi az össz tudásomBlog:http://ikszkom.freeblog.hu RSS:http://ikszkom.freeblog.hu/rss.xml http://live.xbox.com/member/ikszkom
-
Fisha
őstag
válasz burgatshow #4 üzenetére
hat ugyan az rss temat nem vagom, de szerintem az rss egy elore meghatarozottan felepitett xml.
Node ha xml-rol szeretnel okosodni, akkor use google: xml tutorial.
Amugy java.sun.com-rol indulva is talalsz xml leirasokat dogivel. -
burgatshow
veterán
Köszi, de remélem nem értettél félre: engem ez a tipus érdekel: Bővebben: link
-
Fisha
őstag
válasz burgatshow #7 üzenetére
Hat most akkor ujra nem ertem, hogy mit szeretnel.
Amit linkeltel az egy xml, meghozza egy rss xml. Tudod bogar-rovar tipikus esete. -
Fisha
őstag
válasz burgatshow #9 üzenetére
Szerintem az rss.lap.hu angol linkjei kozott van hasznalhato. Pl. rogton az elso.
-
Fisha
őstag
válasz burgatshow #11 üzenetére
Gondolom ugyanugy, ahogy a cikekket publikaljak rssben, kozzeteszik a legfrissebb cikklistat is. Igy mar csak egy rss catcher/parser kell hozza. Gondolom web sitere szeretned, tehat jol jonne valami web-based, pl. php-s. Ugy tunik a carp nevu pont egy ilyen:
Bővebben: link
u.i.: mint mondtam mar, fogalamam sincs az rss temarol, tehat ha tevednek valamiben akkor az okosok avatkozzanak kozbe -
Fisha
őstag
válasz burgatshow #14 üzenetére
Neked az ellenkezoje kell, nem? Parsolnod kell a bejovo xml-t. Hat ez ezt megcsinalja, es html-t kop ki az xml bemenetbol.
-
burgatshow
veterán
Félreértettük 1mást. Van 1 oldal, ahol eléggyakran frissülnek hírek. Mint itt a ph! Na én azt akarom elérni, hogy amikor valaki megírt 1 hírt, és kikerült az oldalra, akkor azt 1 php script (most írom) automatice szúrja bele az rss fájlba. Nem tudom érted e! Valszeg nem de hátha!-
-
Fisha
őstag
válasz burgatshow #16 üzenetére
Szoval neked a masik oldala kell a dolognak. Tehat rss-t (xml-t) szeretnel osszeallitani egy hirbol es megosztani mas siteokkal?
Ezesetben egy ajanlott link:
Bővebben: link
[Szerkesztve] -
burgatshow
veterán
Az nem egyszerűbb megoldás, hogy a mezők tartalmát kiolvassuk változókba, majd egy fwriteal összerakjuk az rss-t?
Valahogy így gondoltam csak ez most pont nem jó!
<?php
$sql = @ mysql_connect (''localhost'', ''root'', ''1234'');
if (! $sql) {
print (''Nincs MySQL szerver!'');
die(); }
$selectdb = @ mysql_select_db(''xmods'');
if (! $selectdb) {
print (''Nem kiválasztható az xmods tábla!'');
die(); }
$query = ''SELECT * FROM news ORDER BY id DESC LIMIT 15'';
$getquery = mysql_query($query);
if (! $getquery) {
print (''Nem végrehajtható query!'');
die(); }
while ($sor = @ mysql_fetch_array($getquery))
{
$cim = ''''.$sor['cim' ].'''';
$hir = ''''.$sor['hir' ].'''';
$link = ''http://xmods.uw.hu/plugins/news/shownew.php?newsid=''.$sor['id' ].'''';
$date = ''''.$sor['year' ].'''';
$ido = ''''.$sor['ido' ].'''';
$rss = ''xmods.xml'';
if (is_writable($rss)) {
if (!$handle = fopen($rss, 'a')) {
echo ''Nem elérhető: ($rss)'';
exit;
}
if (fwrite(''<rss version=\''2.0\'' xmlns:dc=\''http://purl.org/dc/elements/1.1/\''>
<channel>
<title>..::eXtreeme ModdingZ::.. hírek</title>
<link>http://xmods.uw.hu/</link>
<description>..::eXtreeme moddingZ::.. Extrém világok moddingja - extrém moddingok
világa. Nézz be, ha modder leszel, vagy vagy.</description>
<language>hu</language>
<item>
<title>$cim</title>
<link>$link</link>
<description>$hir</description>
<dc:creator>$author</dc:creator>
<dc:date>$date - $ido</dc:date>
</item>
</channel>'') === FALSE) {
echo ''Írás sikertelen: ($rss)'';
exit;
}
fclose($handle);
} else {
echo ''Nem írható a $rss!'';
}
}
?> -
burgatshow
veterán
-
burgatshow
veterán
Ággrhhh:
MIért kapom ezt?
Warning: Wrong parameter count for fwrite() in C:\Program Files\Apache2\htdocs\rssmake.php on line 49
az előző kódra?? Nem értem: az fwrite-al nem lehet kiírni ekkora fájlt? vagymi? -
burgatshow
veterán
Fel!
-
Fisha
őstag
válasz burgatshow #23 üzenetére
Hat azert mert nem adod meg a file handlet elso parameterkent.
-
Fisha
őstag
válasz burgatshow #26 üzenetére
Mivel az frwrite fileba ir, tudni kell szegenynek, hogy melyik filebe irjon. Te meg is nyitod szepen a filet, azonban nem adod at a handle valtozot a fwritenak. Nalad ez a $handle. (45. sor)
[Szerkesztve] -
burgatshow
veterán
Tehát akkor:
$handle = fwrite(''<rss version=\''2.0\'' xmlns:dc=\''http://purl.org/dc/elements/1.1/\''>
<channel>
<title>..::eXtreeme ModdingZ::.. hírek</title>
<link>http://xmods.uw.hu/</link>
<description>..::eXtreeme moddingZ::.. Extrém világok moddingja - extrém moddingok
világa. Nézz be, ha modder leszel, vagy vagy.</description>
<language>hu</language>
<item>
<title>$cim</title>
<link>$link</link>
<description>$hir</description>
<dc:creator>$author</dc:creator>
<dc:date>$date - $ido</dc:date>
</item>
</channel>'') -
Fisha
őstag
válasz burgatshow #28 üzenetére
Bővebben: link
fwrite ($handle, $string) -
burgatshow
veterán
Köszi de hülyét kapok a magyar betűktől! Miért kellett nekik hosszú i e á és egyéb ilyenek??
Nem tudok rájönni miért bassza el!
Bővebben: link -
faster
nagyúr
válasz burgatshow #30 üzenetére
<?xml version=''1.0'' encoding=''iso-8859-2'' ?>
Szúrd be az elejére. -
faster
nagyúr
válasz burgatshow #32 üzenetére
Az attól függ, hogy milyen paraméterrel nyitod meg a fájlt azt fopennél.
Bővebben: link
A táblázatot nézd meg.
[Szerkesztve] -
burgatshow
veterán
-
faster
nagyúr
válasz burgatshow #34 üzenetére
Beszúrva nem lehet írni, vagy ''w'' paraméterrel nyitod meg a fájlt, és akkor a régi tartalom felülíródik, vagy ''a'' (append), és akkor a régi tartalom végéhez íródik. Én úgy csinálnám, hogy beolvasnám a fájlt, és stringműveletekkel raknám össze az új tartalmat.
Pl. csinálsz egy templatefájlt, kábé így:
<xml>
%tartalom%
</xml>
Ezt beolvasod egy változóba ($template). És van egy másik változód, legyen mondjuk $szoveg, amibe a szöveg van, amit be akarsz szúrni.
$t = str_replace(''%tartalom%'',$szoveg,$teplate);
és a $t-t kiírod a fájlba.
[Szerkesztve] -
faster
nagyúr
válasz burgatshow #36 üzenetére
Az, hogy ezt a $template változót fáljból olvasod be, vagy pedig a PHP-kódba rakod bele, tulajdonképpen mindegy, ha nagyméretű, akkor célszerű fájlba tenni.
Ja igen, elméletileg megnyitott fájlban is lehet pozicionálni (asszem), de ezt még sosem próbáltam. A template megoldás egyszerűbb, elegánsabb.
[Szerkesztve] -
faster
nagyúr
válasz burgatshow #38 üzenetére
Igen, kicsit zagyva volt a fogalmazásom. Szóval arra gondoltam, hogy kérdezted a beszúró fájlírást, és én azt írtam, hogy nem lehet. De elméletileg asszem lehetséges, mert a megnyitott fájlban tudsz pozicionálni. De ezt én még sosem próbáltam, általában sokkal egyszerűbb beolvasni egy szövegfájlt egy változóba, ott machinálni vele, majd visszaírni a fájlba.
-
burgatshow
veterán
Van 1 kérdésem?? A görény miért nem cseréli le a %tartalom%-t a kivántra?
RSS:
<?xml version=''1.0'' encoding=''iso-8859-2'' ?>
<rss version=''2.0'' xmlns:dc=''http://purl.org/dc/elements/1.1/''>
<channel>
<title>..::eXtreeme ModdingZ::..</title>
<link>http://xmods.uw.hu/</link>
<description>..::eXtreeme ModdingZ::.. Extrém tuningok és modok, na meg a friss hírek világa.</description>
<language>hu-HU</language>
<xml>%tartalom%</xml>
</channel>
</rss>
PHP:
...
while ($sor = @ mysql_fetch_array($getquery)) {
$szoveg = ''
<item>
<title>''.$sor['cim' ].''</title>
<link>http://xmods.uw.hu/plugins/news/shownew.php?newsid=''.$sor['cim' ].''</link>
<description>''.$sor['hir' ].''</description>
<dc:creator>..::eXtreeme ModdingZ::..</dc:creator>
<dc:date>''.$sor['year' ].'' - ''.$sor['ido' ].''</dc:date>
</item>'';
$rss = ''xmods.xml'';
if (is_writable($rss)) {
if (!$template = fopen($rss, 'a')) {
echo ''Nem elérhető: ($rss)'';
exit;
}
$text = str_replace(''%tartalom%'', $szoveg, $template);
if (fwrite($template, $text) === FALSE) {
echo ''Írás sikertelen: ($rss)'';
exit;
}
fclose($template);
} else {
echo ''Nem írható a $rss!'';
}
}
...
XML:
<?xml version=''1.0'' encoding=''iso-8859-2'' ?>
<rss version=''2.0'' xmlns:dc=''http://purl.org/dc/elements/1.1/''>
<channel>
<title>..::eXtreeme ModdingZ::..</title>
<link>http://xmods.uw.hu/</link>
<description>..::eXtreeme ModdingZ::.. Extrém tuningok és modok, na meg a friss hírek világa.</description>
<language>hu-HU</language>
<xml>%tartalom%</xml>
</channel>
</rss>Resource id #4Resource id #5Resource id #6Resource id #7Resource id #8Resource id #9Resource id #10Resource id #11Resource id #12Resource id #13Resource id #14Resource id #15Resource id #16Resource id #17Resource id #18 -
faster
nagyúr
válasz burgatshow #42 üzenetére
$template = fopen($rss, 'a') ??
Az fopen nem olvas be fájl tartalmat. Csak megnyit egy fájlt, és hozzárendel a nyitott fájlhoz egy Resource azonosítót, ami jelen esetben a $template változóba kerül bele, ezzel a fájllal még nem történt semmi, olvashatod freaddel, vagy írhatod fwrite-tal, de maga az fopen nem végez rajta semmi műveletet.
Ha file tartalmát akarod beolvasni egy stringbe, akkor
$template = file_get_contents($rss);
ez PHP 4.3.0 felett működik, vagy
$fh = fopen($rss,''r''); <- itt elég az ''r'' is, mivel csak olvasni akarod
$template = fread($fh,filesize($rss));
fclose($fh);
[Szerkesztve] -
burgatshow
veterán
ja értem, viszont akkor meg azt nem értem, hogy ha megmondom ennek a szuper fosnak, hogy a $template = file_get_content($rss); akkor miért kapom ezt a görcsöt: fwrite(): supplied argument is not a valid stream resource
Pedig a $template hozáárendelés után szúrtam be még a replace elött. -
faster
nagyúr
válasz burgatshow #44 üzenetére
Egyrészt file_get_contents
másrészt...
Az fwrite-nak file-handler kell, annak a fájlnak a resouce id-ja, amit írni akarsz. Ezt egy fopennel tudod előállítani. Jelen esetben viszont kap egy $template nevű változót, amiben a template fájl tartalma van, nem pedig az írandó xml fájlnak a resource-ja. Választd szét a template fájl beolvasását az XML fájl írásától, mert már keverednek a változók.
[Szerkesztve] -
faster
nagyúr
Jah, egyébként ha file_get_contents működik, van egy olyan, hogy file_put_contents is, ami file-ba ír egy stringet, hasonlóan bonyolult a szintaktikája, mi a file_get_contents-nek.
-
faster
nagyúr
válasz burgatshow #47 üzenetére
Resource->erőforrás. File-handler->file azonosító. Kábé így lehet őket lefordítani.
-
burgatshow
veterán
Namostmár kurvára nem értem!
Van 1 RSS template fájlom ami így néz ki:
<?xml version=''1.0'' encoding=''iso-8859-2'' ?>
<rss version=''2.0'' xmlns:dc=''http://purl.org/dc/elements/1.1/''>
<channel>
<title>..::eXtreeme ModdingZ::..</title>
<link>http://xmods.uw.hu/</link>
<description>..::eXtreeme ModdingZ::.. Extrém tuningok és modok, na meg a friss hírek világa.</description>
<language>hu-HU</language>
<xml>%tartalom%</xml>
</channel>
</rss>
A php-ban pedig:
$rss = ''xmods.xml'';
$open = fopen ($rss); <- megnyitom a fájlt
$getcontent = file_get_contents($open); <- tartalmilag beleolvasok
$szoveg = ''<item>
<title>''.$sor['cim' ].''</title>
<link>http://xmods.uw.hu/plugins/news/shownew.php?newsid=''.$sor['id' ].''</link>
<description>''.$sor['hir' ].''</description>
<dc:creator>..::eXtreeme ModdingZ::..</dc:creator>
<dc:date>''.$sor['year' ].'' - ''.$sor['ido' ].''</dc:date>
</item>''; <- ezt szeretném a %tartalom% helyére írni
$text = str_replace(''%tartalom%'', $getcontent $szoveg);
$write = fwrite($getcontent, $szoveg);
Vagy nem? -
faster
nagyúr
válasz burgatshow #49 üzenetére
Nem, a file_get_contents egy külön állatfajta, neki nem kell fopen (gyakorlatilag egyben tartalmazza az fopen, fread,fclose-t).
Semmi más nem kell neki csak a file neve elérési úttal, és azt a fájlt megnyitja, tartalmát beolvassa a megadott változóba, majd a fájlt lezárja.
Ennyi az egész:
$content = file_get_contents(''template.xml'');
Csak azért írtam egy másik hagyományosabb megoldást is, mert ezt a file_get_contents függvényt csak a 4.3 verzió fölött lehet használni.
Hasonlóan egyszerű a file_put_contents, ami pedig egy stringet kiír egy fájlba.
Ennek sem kell fopen,fclose, file-handlert tároló változó stb... csak egy fájlnév (meg persze a string, amit ki akarsz írni).
file_put_contents(''fileneve'',''eztakaromkiirni'');
vagy a te esetedben
file_put_contents(''RSSfileneve'',$template);
[Szerkesztve]
Új hozzászólás Aktív témák
- Hálózatokról alaposan
- Azonnali alaplapos kérdések órája
- Házimozi belépő szinten
- Sokat fogyaszt az AI, egyre több az adatközpont, kell az atomenergia
- Alapértelmezett konfiguráción sok Core CPU-nak lehet stabilitási gondja
- Autós topik látogatók beszélgetős, offolós topikja
- Autós topik
- Milyen notebookot vegyek?
- Path of Exile (ARPG)
- Fejhallgató erősítő és DAC topik
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest