/
  • نمایش توییت ها در وب سایت با PHP و jQuery

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی نمایش توییت ها در وب سایت با PHP و jQuery
    نویسنده پیام
    phpgangster آفلاین
    عضو جدید
    **

    ارسال‌ها: 32
    تاریخ عضویت: ۱۳۹۱ آذر ۴
    اعتبار: 0
    تشکرها : 22
    ( 24 تشکر در 11 ارسال )
    ارسال: #1
    Wink نمایش توییت ها در وب سایت با PHP و jQuery
    برای دسترسی به اطلاعات یک user در توییتر راه های مختلفی وجود دارد و توییتر API خود را به صورت JSON و فایل XML در اختیار برنامه نویسان قرار میدهد تا برنامه نویسان بتوانند توییت ها و اطلاعات آن را به نمایش بگذارند.

    در کدی که خواهید دید فقط با دادن username توییتر خود می توانید امکانات زیر را دارا باشید:

    نمایش ۱۰ عدد از جدیدترین توییت ها(در صورت این که تعداد توییت ها بیشتر از ۱۰ باشد) به صورت اسلاید
    ایجاد لینک به لینک های توییت ها
    توقف اسلاید در هنگام رفتن موس به روی باکس توییت ها و راه افتادن اسلاید ۵ ثانیه پس از برداشتن موس
    به روز شدن فایل XML هر یک ساعت یک بار در صورت لود شدن صفحه
    به دلیل فیلتر بودن وب سایت توییتر شما نمی توانید توییت های خود را به همه نشان دهید اما می توانید با دانلود کردن فایل XML مورد نظر خود از این لینک: http://api.twitter.com/1/statuses/user_t...ERNAME.xml توییت های خود را بدون داشتن ِ فیلتر شکن به بازدیدکنندگان وب سایت خود نشان دهید و یا می توانید این کد را آفلاین(localhost) هم تست کنید. فقط توجه داشته باشید که فایل XML باید در کنار فایل PHP قرار گیرد. در صورتی که قسمت کد آنلاین را فعال کنید(در کدهای زیر) نیازی به دانلود فایل XML نیست چون به صورت خودکار هر یک ساعت یک بار در صورت لود شدن صفحه ی شما فایل XML دانلود میشود.

    ابتدا کد PHP زیر را در پوشه ای به نام assets در فایلی به نام twitter.php ذخیره کنید و مقدار متغییر username را به username توییتر خود تغییر دهید.
    کد PHP:
    <?php
    /**
     * @author Peyman Aslani
     * @version 1.0.1
     * @license open source license
     */
    class Twitter
    {
     public function 
    show_tweet($twitter_user)
     {
     
    $xmlpath $twitter_user.".xml";
     @
    $xml simplexml_load_file($xmlpath);
     
    $count_tweet sizeof($xml);
     if(
    $count_tweet 11)
     {
     for(
    $i=$i $count_tweet $i++)
     {
     
    $findme '+0000';
     @
    $date $xml->status[$i]->created_at;
     @
    $string $xml->status[$i]->text;
     
    $pos strpos($date$findme);
     
    $reg_exUrl "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
     if (
    $pos === false)
     {
     if(
    preg_match($reg_exUrl$string$url))
     {
     
    $string preg_replace($reg_exUrl"<a href=".$url[0].">.$url[0].</a> "$string);
     
    $Tweet[] = $string ."<br/>".$date."<br/>";
     }
     else
     {
     
    $Tweet[] = $string ."<br/>".$date."<br/>";
     }
     }
     else
     {
     if(
    preg_match($reg_exUrl$string$url))
     {
     
    $string preg_replace($reg_exUrl"<a href=".$url[0].">.$url[0].</a> "$string);
     
    $Tweet[] = $string ."<br/>".str_replace($findme,"",$date)."<br/>";
     }
     else
     {
     
    $Tweet[] = $string ."<br/>".str_replace($findme,"",$date)."<br/>";
     }
     }
     }
     }
     else
     {
     for(
    $i=$i 10 $i++)
     {
     
    $findme '+0000';
     @
    $date $xml->status[$i]->created_at;
     @
    $string $xml->status[$i]->text;
     
    $pos strpos($date$findme);
     
    $reg_exUrl "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
     if (
    $pos === false)
     {
     if(
    preg_match($reg_exUrl$string$url))
     {
     
    $string preg_replace($reg_exUrl"<a href=".$url[0].">.$url[0].</a> "$string);
     
    $Tweet[] = $string ."<br/>".$date."<br/>";
     }
     else
     {
     
    $Tweet[] = $string ."<br/>".$date."<br/>";
     }
     }
     else
     {
     if(
    preg_match($reg_exUrl$string$url))
     {
     
    $string preg_replace($reg_exUrl"<a href=".$url[0].">.$url[0].</a> "$string);
     
    $Tweet[] = $string ."<br/>".str_replace($findme,"",$date)."<br/>";
     }
     else
     {
     
    $Tweet[] = $string ."<br/>".str_replace($findme,"",$date)."<br/>";
     }
     }
     }
     }
     return 
    $Tweet;
     }
    }

    $num $_GET["num"];
     
    $username "Your_Usename";
     
    $isXml true;
     
    /*
     * در صورتی که میخواهید کد را آنلاین و با فیلتر شکن اجرا شود
     * کدهای زیر را از حالت کامنت بردارید
     * در غیر این صورت فایل مورد نظر را دانلود کرده
     * و در کنار این فایل قرار دهید
     */
    /*
     if(is_file($username.".xml"))
     {
     if ( filemtime($username.".xml") <= time()-60*60)
     {
     unlink($username.".xml");
     $xml_file = "http://api.twitter.com/1/statuses/user_timeline/".$username.".xml";
     if(copy($xml_file,$username.".xml"))
     {
     $isXml = true;
     }
     else
     {
     $isXml = false;
     }
     }
     }
     else
     {
     $xml_file = "http://api.twitter.com/1/statuses/user_timeline/".$username.".xml";
     if(copy($xml_file,$username.".xml"))
     {
     $isXml = true;
     }
     else
     {
     $isXml = false;
     }
     } */

    if($num 9)
     {
     
    $num 0;
     }
     if(
    $isXml)
     {
     
    $Tweet = new Twitter();
     
    $var $Tweet->show_tweet($username);
     echo @
    $var[$num];
     }
     else
     {
     echo 
    "just a sec, loading tweets...";
     }
    ?>
    حالا زمان اضافه کردن فایل jQuery است قبل از پوشه assets فایلی به نام tweet.js بسازید و کدهای زیر را در آن کپی کنید.
    کد:
    // tweet
    $(function()
    {

    getStatus();

    });
    var num = 0;
    var t = setInterval("getStatus()", 5000);
    function getStatus()
    {
    if(num != 0)
    {
    $("#tweet").fadeOut(500,function()
    {
    $("#tweet").load("assets/twitter.php?num=" + num, function()
    {
    $("#tweet").fadeIn(500);
    });
    });
    }
    else
    {
    $("#tweet").load("assets/twitter.php?num=" + num);
    }
    num++;
    if(num > 9)
    {
    num = 0;
    }
    $("#tweet").mouseover(function()
    {
    clearInterval(t);
    t = 0;
    });
    $("#tweet").mouseout(function()
    {
    if(t == 0)
    {
    t = setInterval("getStatus()", 5000);
    }
    });
    }
    در صفحه ای که میخواهید توییت ها به نمایش گذاشته شود در قسمت head صفحه, فایل tweet.js را صدا بزنید و در body در قمستی که میخواهید توییتها نمایش داده شود کد زیر را کپی کنید.
    کد:
    <div id="tweet">
    </div>
    __________________________________________________________________________
    یک آدم موفق میگه : سخته ولی ممکنهBlush
    یک آدم ناموفق میگه: ممکنه ولی سختهHuh
    ۱۳۹۱ آذر ۶ ۰۲:۴۷ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : amenocy pars001
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS