الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

من فضلكم اريد تغيير تلقائي للتواريخ

بدأه kaspor في 18 مارس 2012 · 17 رد · 1,019 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة

معي ملف xml يتكون من مجموعة من ال iTEM

كل ITEM له تاريخ اريد التاريخ يتغير تلقائيا كل نصف ساعة

وده كود الملف

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <item>
            <title>العنوان</title>
            <description>الوصف
<img alt="" border="0" src="http://2.bp.blogspot.com/-toTWtY52OK8/T1AB8/gL_abRwY7Fw/s1600/3.gif"></description>
            <link>اللينك</link>
            <guid isPermaLink="false">B158D4DF-3E5E-4C78-B50B-14E8B305F5B3</guid>
            <pubDate>Sun, 18 Mar 2012 12:30:15 +0200</pubDate>
        </item>
    </channel>
</rss>

السطر قبل الاخير فيه التوقيت اريده يزيد نص ساعه كل نص ساعة

#2

معك أين? على القرص الصلب أم في قاعدة بيانات أم أين?

#3

اخي ملف انا رافعة علي استضافة

ملحوظة الاستضافة تدعم ال php وال sqL ولكني لم استخدمهم حتي الآن

#4

هل يوجد حل ؟؟

#5

هل لديك خبره ببرمجة ال php ؟

#6

خبرة بسيطة اخي ولكن هل يوجد طريقة لتعديل في ملف ال Xml بال php

#7

انتظرك اخي بفارغ الصبر وان شاءالله بتلاقي الحل

#9

شكرا كتييييير ليك مشرفنا الغالي علي بحثك ومجهودك

انا بحااااااااااااول ما عرفت اعمل شئ هناك متغيراااااات كتير واسم ملف data.xml

هل هذا الكود اضعه في ملف ال xml ام اضعه في ملف PHP منفصل ؟؟؟؟؟؟؟؟؟

#10

اعتذر لك اخي ولكن خبرتي للأسف ضعيفة

ياريت تقولي احط متغيرات في الملف تبعي ولا اضيف هذه الاكواد اين ؟؟؟

#11

لنفترض أن الملف اسمه test.xml، هذا الكود يقوم بإضافة 30 دقيقة إلى العنصر pubDate

$rss = simplexml_load_file('test.xml');
$old = $rss->channel[0]->item[0]->pubDate;
$date = new DateTime($old);
$date->add(new DateInterval('PT30M'));	//add 30 minutes
$rss->channel[0]->item[0]->pubDate = $date->format(DateTime::RSS);
$rss->asXML('test.xml');

يبقى المشكل هو كيف تنادي على ال script كل نصف ساعة؟ الشيء الوحيد الذي يخطر ببالي هو cron، لكن يجب التحقق إذا كانت استضافتك تتيحه

2
#12

اخي الكريم انا عملت ملف PHP وحطيته وده السورس بتاعه

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>


<?php
$rss = simplexml_load_file('test.xml');
$old = $rss->channel[0]->item[0]->pubDate;
$date = new DateTime($old);
$date->add(new DateInterval('PT30M'));  //add 30 minutes
$rss->channel[0]->item[0]->pubDate = $date->format(DateTime::RSS);
$rss->asXML('test.xml');
?>

</body>
</html>

والملف سميته test.xml في نفس المجلد بتاع الاستضافة

ولكن لم يتم التغيير نهائيا مع العلم اني دخلت اكثر من مرة علي ملف ال PHP من خلال المتصفح لتنفيذ الامر

#13

تأكد أن الملف xml قابل للكتابة من طرف الجميع، يعني لديه القيمة 777 في الصلاحيات

أيضا غير الكود للتالي وانظر إذا كان يعطيك أي رسالة

<?php
$rss = simplexml_load_file('test.xml') or die('Cannot load file');
$old = $rss->channel[0]->item[0]->pubDate;
$date = new DateTime($old);
$date->add(new DateInterval('PT30M'));  //add 30 minutes
$rss->channel[0]->item[0]->pubDate = $date->format(DateTime::RSS);
$rss->asXML('test.xml') or die('Cannot save file');
?>
1
#14

اخي اعتذر لك ولكن لم يعمل

مع العلم اني اعطيت التصاريح 777 للملفين ال PHP وال XML

وقمت بتغيير الكود

وعند الدخول علي ملف البي اتش بي بعد التعديل لايظهر اخطاء ولكن للأسف لم يتم التنفيذ

#15

غريب

ممكن تغير الكود كالتالي وتعطيني الناتج

<?php
$rss = simplexml_load_file('test.xml');
echo '<pre>';
print_r($rss);
echo '</pre>';
$old = $rss->channel[0]->item[0]->pubDate;
$date = new DateTime($old);
$date->add(new DateInterval('PT30M'));	//add 30 minutes
$rss->channel[0]->item[0]->pubDate = $date->format(DateTime::RSS);
echo '<pre>';
print_r($rss);
echo '</pre>';
$rss->asXML('test.xml');
?>
#16

طلع في البي اتش بي بيانات ملف ال XML

SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [version] => 2.0
        )

    [channel] => SimpleXMLElement Object
        (
            [title] => News
            [description] => News
            [link] => http://www.facebook.com/pages/%D8%AD%D9%85%D9%84%D8%A9-%D9%83%D9%8F%D9%84%D9%86%D8%A7-%D8%B3%D9%88%D8%B1%D9%8A%D8%A7-%D9%84%D9%80-%D9%86%D8%B5%D8%B1%D8%A9-%D8%A7%D9%84%D8%AB%D9%88%D8%B1%D8%A9-%D8%A7%D9%84%D8%B3%D9%88%D8%B1%D9%8A%D8%A9/169126783192661
            [docs] => http://blogs.law.harvard.edu/tech/rss
            [lastBuildDate] => Tue, 20 Mar 2012 20:45:51 +0200
            [pubDate] => Sun, 18 Mar 2012 10:15:41 +0200
            [generator] => FeedForAll v2.0 (2.0.3.1) unlicensed version http://www.feedforall.com
            [item] => Array
                (
                    [0] => SimpleXMLElement Object
                  (
                            [title] => أنــصــر أطفــال سوريا بدقائق من وقتك
                            [description] => شارك في حملة نصر اطفال سوريا بدقائق من وقتك




                            [link] => http://www.facebook.com/pages/%D8%AD%D9%85%D9%84%D8%A9-%D9%83%D9%8F%D9%84%D9%86%D8%A7-%D8%B3%D9%88%D8%B1%D9%8A%D8%A7-%D9%84%D9%80-%D9%86%D8%B5%D8%B1%D8%A9-%D8%A7%D9%84%D8%AB%D9%88%D8%B1%D8%A9-%D8%A7%D9%84%D8%B3%D9%88%D8%B1%D9%8A%D8%A9/169126783192661
                            [guid] => B158D4DF-3E5E-4C78-B50B-14E8B305F5B3
                            [pubDate] => Tue, 20 Mar 2012 20:50:15 +0200


     )

                )

        )

)
#17

ال echo الثاني لا يتم تنفيذه، فغالبا يتوقف تنفيذ ال script عند الجزء الخاص بإضافة التاريخ. ما هي نسخة php لديك، لأن الكلاس DateInterval تحتاج ل 5.3

على العموم، جرب التالي

<?php
$rss = simplexml_load_file('test.xml');
$old = $rss->channel[0]->item[0]->pubDate;
$date = strtotime($old);
$date += 60*30;	//add 30 minutes
$rss->channel[0]->item[0]->pubDate = date('D, d M Y H:i:s O', $date);
$rss->asXML('test.xml');
?>
1
#18

خلاااااااااااااااااااااااص تمام كل شئ

ربنا يكرمك يـــــــــــــــــــــــــــــــــــــــــــارب ويجازيك كل خير

تم تعديل هذه المشاركة بواسطة kaspor في 21 مارس 2012 في 19:56

مواضيع مشابهة