| |
اقتباس: {2} طريقة اخرى لعمل rss بملف xml وهو منقول عن الاخ amine وقمت بتعديل بسيط عليه حتى يناسب الجميع ويكون سهل للشرح 1- انشا مجلد rss مثلا 2- نحن نحتاج لعمل ملف .htaccess ، داخل مجلد rss واضافة هذا السطر فيه ... AddType application/x-httpd-php .xml و بهذا جعلنا كل ملف XML يعمل كملف PHP ... لا تقتصر هذا على ملفي PHP و XML فقط ، بل يمكنك إستخدام هذه الطريقة مثلا لتحويل ملفات الـ HTML إلى PHP ... 3- نقوم بعمل ملف XML عادي ( اي بامتداد XML ) ، و نكتب أول سطر ... كود PHP: <? header('(anti-spam-(anti-spam-content-type:)) text/xml'); ?> لقد إستخدمنا هنا وسم PHP ، و هذا لأننا جعلنا بالأعلى كل ملف XML يعمل كملف PHP ... و الآتي هو أهم ما يمكن وضعه بالأعلى ( للعلم يمكنك وضع أوسمة أخرى ) ... كود PHP: [size=3][font=Times New Roman]<rss version="2.0"> [size=3][font=Times New Roman]<channel>[/font][/size] [size=3][font=Times New Roman]<title>ضع العنوان عنا</title>[/font][/size] [size=3][font=Times New Roman]<description>...</description>[/font][/size] [size=3][font=Times New Roman]<link>ضع رابط موقعك هنا</link>[/font][/size] [size=3][font=Times New Roman][/font][/size]
السطر الأول به تعريف لنسخة الـ RSS ... السطر الثاني إفتتاح للعمل ... السطر الثالث هو عنوان الموقع و أسفل منه وصف للموقع و أسفله رابط الموقع ... الان ضع هذه الاوامر وعدل البيانات حسب بيانات قاعدة بيانات موقعك كود PHP:
[size=3][font=Times New Roman]<?[/font][/size] [size=3][font=Times New Roman]$dbhost = 'localhost';[/font][/size] [size=3][font=Times New Roman]$dbuname = 'root';[/font][/size] [size=3][font=Times New Roman]$dbpw = '';[/font][/size] [size=3][font=Times New Roman]$dbname = 'rss';[/font][/size] [size=3][font=Times New Roman]$conn = @mysql_connect($dbhost ,$dbuname ,$dbpw ) ordie('error');[/font][/size] [size=3][font=Times New Roman]mysql_select_db($dbname ,$conn) or die('error'); [/font][/size] [size=3][font=Times New Roman][/font][/size] نقوم بتنفيذ هذا الكود للاستعلام من القاعدة عن الحقول التى نريد عرضها طبعا هنا افتراضى id و title و content يمنكنك استبدالهم او اضافة شىء اليهم كود PHP:
[size=3][font=Times New Roman]$query=mysql_query("SELECT `id`, `title`, `content` FROM topics ORDER BY `id` DESC LIMIT 0,5");[/font][/size] [size=3][font=Times New Roman]while($result = mysql_fetch_array($query)){[/font][/size] [size=3][font=Times New Roman]?>[/font][/size] [size=3][font=Times New Roman]<item>[/font][/size] [size=3][font=Times New Roman]<title><?=htmlentities(strip_tags($result['title'])); ?></title>[/font][/size] [size=3][font=Times New Roman]<description> <?=htmlentities(substr($result['content'],0,60));?></description>[/font][/size] [size=3][font=Times New Roman]<link>http://www.site.com/news.php?id=<?=$result['id'];?></link>[/font][/size] [size=3][font=Times New Roman]</item>[/font][/size] [size=3][font=Times New Roman]<? } ?>[/font][/size] [size=3][font=Times New Roman][/font][/size] طبعا انت تستبدل http://www.site.com/news.php?id= بما يناسب موقعك نضع كل المحتوى بين وسمي <item> الإفتتاحي و الختامي و هو ما يمثل إدراجا واحدا و بداخله عنوان الموضوع في الوسم <title> و الوصف <description> الذي سيظهر في حالتنا على أنه جزء من المحتوى لأننا إستخدمنا الدالة SUBSTR و حددنا عدد الحروف بـ 60 ، ثم رابط الموضوع الكامل <link> و الذي سيذهب إليه الزائر بعد الضغط على عنوان الموضوع ، ثم نغلق حلقة التكرار ... و بهذا سيتكرر المحتوى الواقع بين وسمي <item> الإفتتاحي و الختامي خمس مرات ... و في النهاية نغلق وسم العمل و وسم الـ RSS [PHP]</channel> </rss>[/PHP] واخيرا انتهيت من نقل الشرح مع بعض التعديل عليه واذا كان لكم اى استفسار فارحب به | بارك الله فيك اخوي ما قصرت
لكن ممكن هذا الكود كاملا ؟
دمته بود[/size][/font]
__________________ لا تكن ظالماً لنفسك فاليوم عمل ولا حساب |.| وغداً حساب ولا عمل |
22-12-2007, 02:06 AM
| | | | |