نقل قول: سوال در مورد rss
ببینین rss و atom feed ها یک ساختار xml استاندارد دارند ،شما کافیه اطلاعاتتون را بر اساس این ساختار خروجی بگیرین.
اگه میخواین مثل اب خوردن rss ایجاد کنید با استفاده از این کلاس میتونید یک ساختار آرایه ای را به rss تبدیل کنید.
برای اینکه ساختار و Option های مربوط به rss را ببینید اینجا را مطالعه کنید.
برای یک نمونه php هم این مثال خیلی خوبیه.
نقل قول: سوال در مورد rss
خیلی متشکرم
وقتی فایل php را مانند مثال نوشتم با همان پسوند php ذخیره کنم یا xml
واینکه این فایل را کجا بزارم ؟
ممنون
نقل قول: سوال در مورد rss
من از این سایت یاد گرفتم و انجام دادم .
نقل قول: سوال در مورد rss
نقل قول:
وقتی فایل php را مانند مثال نوشتم با همان پسوند php ذخیره کنم یا xml
rss خوان ها به header ی توسط تولید کنند xml که همون فایل php باشه توجه میکنند و اگه ساختار xml درست باشه نشون میدهند !
ببین اول مثالش کاملش زده :
header("Content-Type: application/rss+xml; charset=ISO-8859-1");
فقط شما چون فارسیه باید بزنی :
header("Content-Type: application/rss+xml; charset=UTF-8");
وقتی هم کل مطلب را میریزه توی متغیر مربوطه میاد echo میکنه ! پس در جواب شما همون فایل php مناسبه ! البته با htaccess. میشه کاری کرد که پسوندهای rss هم مانند php شناخته بشوند ! و یا کلا فایل را درقالب rss به صورت روزانه یا هفتگی ذخیره کنید و یا cache کنید و از همون header استفاده کنید ! ماشاا... راه براش تا دلت بخواد هست.
نقل قول: سوال در مورد rss
با کمک مروگر اکسپلورر ، فایرفاکس ، اپرا و سفری هم میشه خوراک خوان سایتی رو خوند. این یه برنامه ی ساده برای ساخت خوراک خوان یا همون rss feeds
<?php
$link = mysql_connect('localhost','root','');
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
$db = mysql_select_db(search);
if(!$db) {
die("Unable to select database");
}
?>
<?php
$output = '<?xml version="1.0" encoding="utf-8"?>';
$output .= '<rss version="2.0">';
$output .= '<channel>';
$output .= '<title>تگ قالب</title>';
$output .= '<link>http://localhost/ravand/link.php</link>';
$output .= '<description>This is an example RSS feed</description>';
$output .= '<language>fa</language>';
$output .= '<copyright>Copyright (C) 2009 mywebsite.com</copyright>';
?>
<?php
mysql_query('SET NAMES \'utf8\'');
$qa=mysql_query("select * from jadval order by id DESC limit 15");
while ($qb=mysql_fetch_array($qa)){
extract($qb);
$output .= '<item>';
$output .= '<title>'.$subject.'</title>';
$output .= '<description>' . $body . '</description>';
$output.= '<link>'.'id.php?id='.$id .'</link>';
$output .= '</item>';
}
$output .= '</channel>';
$output .= '</rss>';
echo $output;
?>
نقل قول: سوال در مورد rss
خیلی متشکرم
تونستم فایل php مورد نظرم را به صورت بالا تغییربدم
حالا برای اینکه برنامه های rss خوان صفحه من را بخوانند، باید چه کنم؟
خیلی متشکرم
نقل قول: سوال در مورد rss
همه چی واضحه . مشکل شما چیه بگید تا توضیح بدم.
شما جدول و دیتابیس و فیلد ها رو به برنامه بدید.
مثلا در کد زیر نام فیلد عنوان هر مطلب مشخص شده:
$output .= '<title>'.$subject.'</title>';
نام فیلد عنوان شما مثلا subject است.
نقل قول: سوال در مورد rss
خیلی متشکرم
تونستم برنامه را درست کنم
ولی یک مشکلی هست
این سورس برنامه است:
<table class="top_news">
<?php
$output = '<?xml version=1.0 content="text/html; charset=utf-8"?>';
$output .= '<rss version="2.0">';
$output .= '<channel>';
$output .= '<title>تگ قالب</title>';
include("../db.php");
$myDb = new db();
$myDb->connect('io');
$sql ="Select * From hoomad_mohtava where part=1 ";
//echo $sql;
$objrs = $myDb->query($sql);
$numRec = $myDb -> printrec($objrs);
$end = count($numRec);
$Result = $myDb->query("Select * From hoomad_mohtava WHERE part=1 ORDER BY id DESC");
$numRec = $myDb -> printrec($Result);
$end = count($numRec);
if ($end > 0)
{
for ($counter=0; $counter < 9; $counter++)
{
$id=$numRec[$counter]['id'];
$onvan=$numRec[$counter]['onvan'];
$output .= '<item>';
$output .= '<title>اخبار</title>';
$output .= ' <tr><td><img src=images/icon/arrow.gif /> <a href=?pg=internal2&cn=mohtava/detail&m='.$id.'>';
$output .= '<description>' . $onvan . '</description>';
// $output.= '<link>id.php?id='.$id .'</link>';
$output .= '</td></tr></item><br />';
} /* for */
$output .= '</channel>';
$output .= '</rss></table>';
echo $output;
} /*if ($end > 0)*/
?>
خروجیش را ببینید
http://hoomad.teo.ir/mohtava/page_rss.php
نمی دونم برای header چی بنویسم که اینطوری اطلاعات را نمایش نده
درضمن وقتی آدرس سایتم را در اینجا وارد می کنم
http://feedvalidator.org/check.cgi?u...8.ir%2Frss.xml
پیغام میده که برنامه ات درست نیست
نقل قول: سوال در مورد rss
همونطور که کاربر Unique گفت باید این header رو در اول صفحه ارسال کنید:
header("Content-Type: application/rss+xml; charset=UTF-8");
نقل قول: سوال در مورد rss
من وقتی از مرورگر اپرا استفاده میکردم هم ، مشکلات rss سایتم رو بهم نشون میداد.
نقل قول: سوال در مورد rss
سلام
این خط را کجای صفحم بزارم؟
header("Content-Type: application/rss+xml; charset=UTF-8");
نقل قول: سوال در مورد rss
قبل از جایی که دارید کد های رو تو صفحه نمایش می دید یعنی قبل echo!
البته دقت کنید ابتدای صفحه ob_start رو فرا خوانی کنید و انتهای صفحه هم ob_end_flush رو!
نقل قول: سوال در مورد rss
با سلام
اگه میشه یک برنامه به من نشون بدید که این header و اون دوتابعی را که گفتید را داشته باشه
خیلی متشکرم
نقل قول: سوال در مورد rss
این همون کدیه که دوستمون کاربر ravand نوشتن + هدر و اون توابع (که اونم کاربر Unique گفتن! با تشکر!):
<?php ob_start();
header("Content-Type: application/rss+xml; charset=UTF-8");
$link = mysql_connect('localhost','root','');
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
$db = mysql_select_db(search);
if(!$db) {
die("Unable to select database");
}
?>
<?php
$output = '<?xml version="1.0" encoding="utf-8"?>';
$output .= '<rss version="2.0">';
$output .= '<channel>';
$output .= '<title>تگ قالب</title>';
$output .= '<link>http://localhost/ravand/link.php</link>';
$output .= '<description>This is an example RSS feed</description>';
$output .= '<language>fa</language>';
$output .= '<copyright>Copyright (C) 2009 mywebsite.com</copyright>';
?>
<?php
mysql_query('SET NAMES \'utf8\'');
$qa=mysql_query("select * from jadval order by id DESC limit 15");
while ($qb=mysql_fetch_array($qa)){
extract($qb);
$output .= '<item>';
$output .= '<title>'.$subject.'</title>';
$output .= '<description>' . $body . '</description>';
$output.= '<link>'.'id.php?id='.$id .'</link>';
$output .= '</item>';
}
$output .= '</channel>';
$output .= '</rss>';
echo $output;
ob_end_flush();
?>
نقل قول: سوال در مورد rss
البته وقتی header اول برنامه ی ما باشه دیگه نیازی به این کد ها نیست. چون میشه با انتخاب گزینه ی Encode in UTF-8 without BOM مشکل رو حل کرد. اون دستورات مال مواقعی هست که دستور header و سشن ما بعد از مثلا کدهای html و php باشه.
نقل قول: سوال در مورد rss
خیلی متشکرم
برنامه را به این صورت تغییر دادم:
نقل قول:
<table >
<?php ob_start();
header("Content-Type: application/rss+xml; charset=utf-8");
$output = '<?xml version="1.0" encoding="utf-8"?>';
$output .= '<rss version="2.0">';
$output .= '<channel>';
$output .= '<title>تگ قالب</title>';
include("../db.php");
$myDb = new db();
$myDb->connect('io');
$sql ="Select * From hoomad_mohtava where part=1 ";
//echo $sql;
$objrs = $myDb->query($sql);
$numRec = $myDb -> printrec($objrs);
$end = count($numRec);
$Result = $myDb->query("Select * From hoomad_mohtava WHERE part=1 ORDER BY id DESC");
$numRec = $myDb -> printrec($Result);
$end = count($numRec);
if ($end > 0)
{
for ($counter=0; $counter < 9; $counter++)
{
$id=$numRec[$counter]['id'];
$onvan=$numRec[$counter]['onvan'];
$output .= '<item>';
$output .= '<title>اخبار</title>';
$output .= ' <tr><td><img src=images/icon/arrow.gif /> <a href=?pg=internal2&cn=mohtava/detail&m='.$id.'>';
$output .= '<description>' . $onvan . '</description>';
// $output.= '<link>id.php?id='.$id .'</link>';
$output .= '</td></tr></item><br />';
} /* for */
$output .= '</channel>';
$output .= '</rss></table>';
echo $output;
} /*if ($end > 0)*/
ob_end_flush();
?>
ولی شما خروجی را ببینید
http://hoomad.teo.ir/mohtava/page_rss.php
دلیلش هم اینه که در بانک mysql اطلاعات فارسی به همین صورت ذخیره میشه
ولی من درصفحات دیگه چون از این هدر استفاده می کنم مشکلی ندارم
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
ولی در اینجا چون قضیه فرق می کنه اطلاعات را درست نمایش نمیده
حالا تکلیف چیه؟
خیلی ممنون
نقل قول: سوال در مورد rss
https://barnamenevis.org/showthread.p...=1#post1690765
قسمت تبدیل دیتابیس غیر Unicode به Unicode بصورت خودکار رو بخون.
نقل قول: سوال در مورد rss
من صفحه ام را که قابلیت rss داشته باشه را درست کردم
حالا میشه بگویید که چطوری از آن استفاده کنم؟