نشان دادن چند عدد تا تاریخ معین در php - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

نشان دادن چند عدد تا تاریخ معین در php

0 امتیاز



با عرض سلام و خسته نباشید به همه من یه کدی میخوام که مثلا چند تا شماره وارد کنم مثلا 1 ،  2  ، 3 بعد اینها به ترتیب نشون داده بشه برای کل کاربران سایت و یه تاریخ و زمانی براشون تعیین کنم روی اون زمان به صورت شانسی روی یه شماره وایسه ممنون میشم راهنمایی کنید
 
با تشکر از همه عزیزان
 
<html>
<head>
</head>
<body>
<meta http-equiv="refresh" content="1"/>
<?php
function getToI(){
$content = file_get_contents( 'name.txt' );
if( ! $content || ( ( $content = unserialize( $content ) ) && $content['expire_time'] < time( ) ) ){
$imageOrTextS = array(
"1"
, "2"
, "3"
, "4"
, "5"
, "6"
);
$number = rand(0,5); 
$iOrT = $imageOrTextS[$number];
file_put_contents( 'name.txt' , serialize( array( 'expire_time' => time() + -1 , 'tOrI' => $iOrT ) ));
return $iOrT;
}}
echo getToI();
?>

 

 

سوال شده آذر 14, 1392  بوسیله ی rezakhademy (امتیاز 18)   1 2 4
ویرایش شده آذر 14, 1392 بوسیله ی BlueBlade

2 پاسخ

+3 امتیاز
 
بهترین پاسخ
اگه بخوای مثل اون سایت درست کنی باید کد بالا رو داخل یه فایل ذخیره کنی.
بعد سمت کاربر یه تایمر بزاری و هربار با ایجکس(post یا get) یه درخواست بفرستی به اون صفحه بعد تو callback درخواست مقدار برگشتی رو که همون کاربر راندوم هست تو element مورد نظرت اضافه کن.
مثال:
$.post("rnd_user.php",{action: "get"},function(data,status){
if(status=="success")
$("span#rnd_user").html(data);
});

کد php:
if($_POST["action"]=="get")
{
    if($content = file_get_contents('1.txt'))
    {
         $content = unserialize($content);
         if($content['expire_time'] > time())
         {
             $imageOrTextS = array(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6);
             $iOrT = array_rand($imageOrTextS);
             echo $iOrT;
         }
    }
}
پاسخ داده شده آذر 15, 1392 بوسیله ی SlowCode (امتیاز 358)   1 3 11
انتخاب شد دی 4, 1392 بوسیله ی BlueBlade
+2 امتیاز
اگه درست متوجه شده باشم:

function getToI(){
    if($content = file_get_contents('1.txt'))
    {
         $content = unserialize($content);
         if($content['expire_time'] > time())
         {
             $imageOrTextS = array(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6);
             $iOrT = array_rand($imageOrTextS);
             return $iOrT;
         }
    }
}

echo getToI();


تو خط 20 چرا زمان انقضا رو کاهش میدی؟

زمان انقضا یه بار نوشته شده، حالا ما هر بار میاییم چک میکنیم اگه زمان انقضا از زمان فعلی کمتر باشه اون عدد رو چاپ میکنیم.

مقدار Expiration رو واسه تست کردن بده 1389204937 یا یه زمان بیشتر از ()time
پاسخ داده شده آذر 14, 1392 بوسیله ی SlowCode (امتیاز 358)   1 3 11
ببخشید من مثل این سایت میخوام khooshshans.ir اون قسمتی که اسم ها هر ثانیه ریفرش میشه و یه تایمر هست بعد اگه اون صفر بشه روی یه اسم شانسی وایمیسه
من اون قسمت رو میخوام
...