تغيير صورة معينة كل 24 ساعة
السلام عليكم
سيكون هناك مجموعة من الصور في فولدر بالسيرفر كيف أخلي صورة معينة على الموقع تتغير كل 24 ساعة علماً أن السيرفر يعمل بالتوقيت الأمريكي يعني الفرق 5 ساعات عن التوقيت العالمي و شكراً
3 إجابات
يوجد في مجلد الصور 4 صور
1.jpg 2.jpg 3.jpg 4.jpg و رغم أنني أغير الوقت في السيرفر المحلي لا تتغير الصور فتظهر الصورة رقم 1 دوماً <?php function getImageOfTheDay() { $myDir = "imgin/"; // الحصول على القيمة الفريدة لليوم والشهر. // 15th Jan 2008 -> 10152008. 3 Feb -> 10342008, 31 Dec -> 13662008 $day = sprintf("1%03d%d", date('z'), date('Y')); // الحصول على جميع الصور من المجلد المحدد بالامتداد المحدد. $jpgs = glob($myDir . "*.jpg"); mt_srand($day); return $jpgs[$day % count($jpgs)]; } echo getImageOfTheDay(); ?> بواسطة: hasan 1 من 1 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا هل تغير تاريخ اليوم؟ كيف تفعل هذا؟ سهلة, الوقت و التاريخ في السيرفر المحلي هو الوقت و التاريخ بالجهاز, أعدل الوقت و التاريخ الخاص بالحاسوب + الحل الوحيد الذي اراه هو تسمية الصور بإسم الرمز الفريد لليوم و الشهر و هكذا سيكون الأمر فعالا
يمكنك تغييرها بطريقة عشوائية معتمدا على التاريخ.
انظر لهذه الدالة وحاول ان تفهمها جيدا function getImageOfTheDay() { $myDir = "path/to/images/"; // الحصول على القيمة الفريدة لليوم والشهر. // 15th Jan 2008 -> 10152008. 3 Feb -> 10342008, 31 Dec -> 13662008 $day = sprintf("1%03d%d", date('z'), date('Y')); // الحصول على جميع الصور من المجلد المحدد بالامتداد المحدد. $jpgs = glob($myDir . "*.jpg"); mt_srand($day); return $jpgs[mt_rand(0, count($jpgs) - 1)]; }وفى النهاية يوجد شىء اخر ، ان كنت تريد ترتبيهم ابجديا او شىء كهذا يجب عليك استعمال هذا function getImageOfTheDay() { $myDir = "path/to/images/"; $day = sprintf("1%03d%d", date('z'), date('Y')); $jpgs = glob($myDir . "*.jpg"); return $jpgs[$day % count($jpgs)]; } بواسطة: molhm 2 من 2 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا لكن كيف اجعلها تتغير كل 24 ساعة بالتوقيت العالمي, و السيرفر الخاص بي يعمل بالتوقيت الامريكي , هل علي اضافة 5 ساعات للوقت كل يوم تعنى كل 24 ساعة فالكود مصنوع لذلك بالفعل. وهو يعتمد على توقيت السيرفر جرب شىء كهذا date_default_timezone_set('Africa/Cairo'); لا تتغير الصور تظهر لي الصورة 1 دوماً أنظر فوق كيف استعملته رايت الدالة سابقاً و أرى أنها غير فعالة الحل الوحيد الذي اراه هو تسمية الصور بإسم الرمز الفريد لليوم و الشهر و هكذا سيكون الأمر فعالا
يمكنك ترتيبهم على اساس ايام الاسبوع مثل
switch(date('w')) { case '1': //Monday break; case '2': //Tuesday: break; ... } بواسطة: علاء 3 من 3 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا |
لو جعلت اسماء هذه الصور فى جدول فى قاعدة البيانات سيكون الامر اسهل من وجهة نظرى
13 / يناير / 2012 الساعة 16:3
أرى أنه من الافضل تبقى في فولدر حتى إذا اردنا اضافة صور جديدة يكون الأمر اسهل
13 / يناير / 2012 الساعة 16:7
حتى تستطيع منعه من اختيار صورة اختارها من قبل ، والالتزام بالترتيب .. ولكن اعتقد ايضا انه يمكن فعلها بالملفات .
13 / يناير / 2012 الساعة 16:10
نعم نقدر نعمل ان يكون التتابع يعني لو اليوم اختار الصورة 1.jpg الغذ يختار 2.jpg لدي الفكرة لكن عندما جئت للتطبيق تلخبط الأمر علي :S
13 / يناير / 2012 الساعة 16:14