• 23-12-2013, 01:01:04
    #1
    Arkadaşlar olayı şöyle anlatayım. Elimde mesala 600 kullanıcı var. 735.000 adet de tweet attırıcam bunlara. Tweet için kullanıcağım kod şu;
    $ekAlan = ' #AliOS ';
    $tweetKaynakDosya = file('tweet.txt');
    $toplamTweet = count($tweetKaynakDosya );
    $randomTweet = $sozSec[rand(0,$toplamTweet-1)];
    (strlen($randomTweet) % 2 == 0) ? $randomTweet = $ekAlan.$randomTweet : $randomTweet = $randomTweet.$ekAlan;
    echo $randomTweet;
    # Örnek Cikti; #AliOS kraldir, candir ve pasadir
    # Örnek Cikti; Yirim seni muck #AliOS
    Tweet.txt dosyası içinde 735k tweet var. Bu tweetleri her bir kullanıcı bir tweet olcak şekilde post yapcaklar. 1.kullanıcı 1.yazıyı post yapcak. Sonra 601.yazıyı yine 1.kullanıcı post yapcak. Bu şekilde devam edicek. Gidip de 7. yazıyı 15.kişi post etmicek. Olayı tam olarak kavramanız için detaylı anlatıyorum.
    Database'den sırayla tweet attırıyorum ama tweetler bitinceye kadar sorgunun otomatik olarak başa dönmesini istiyorum. Yardımcı olabilcek var mı?
  • 23-12-2013, 01:15:08
    #2
    tweet.php olsun döngü bitince tweet.php?s=600 diye yeniden çağırırsın sayfayı 600'dan itibaren attırmaya devam edersin tweetleri ya da

    $dongu_sayisi = 735000/$kisi_sayisi;

    yaparsın sonra

    for($i=1; $i<=$dongu_sayisi; $i++){

    mysql_cek_tweet_attir();

    }

    yaparsın tek çalıştırmada ama timeout olabilir 735k tweet atarken ve sunucuyu yorar.
  • 23-12-2013, 12:25:43
    #3
    pSkpt adlı üyeden alıntı: mesajı görüntüle
    tweet.php olsun döngü bitince tweet.php?s=600 diye yeniden çağırırsın sayfayı 600'dan itibaren attırmaya devam edersin tweetleri ya da

    $dongu_sayisi = 735000/$kisi_sayisi;

    yaparsın sonra

    for($i=1; $i<=$dongu_sayisi; $i++){

    mysql_cek_tweet_attir();

    }

    yaparsın tek çalıştırmada ama timeout olabilir 735k tweet atarken ve sunucuyu yorar.
    Hocam localhost olarak çalıştırcam. Sunucuyu yorması önemli değil ama eğer döngü sayısı tam sayı değilse nasıl olcak? Mesala 753.223/7854 gibi.
  • 23-12-2013, 22:55:04
    #4
    Verdiginiz kod zaten benim random tweet atma kodum.
    Istediginiz özellik basit aslinda, mySQL den token ve screet üyelerini cektikten sonraki while döngüsünde bu kodlari yazacaksiniz. Zaten $randomTweet degiskenini de twitter post status kismina yaziyorsunuz.
  • 23-12-2013, 23:54:05
    #5
    Selçuk adlı üyeden alıntı: mesajı görüntüle
    Verdiginiz kod zaten benim random tweet atma kodum.
    Istediginiz özellik basit aslinda, mySQL den token ve screet üyelerini cektikten sonraki while döngüsünde bu kodlari yazacaksiniz. Zaten $randomTweet degiskenini de twitter post status kismina yaziyorsunuz.
    Üstad ben bu kodu tek seferliğine çalıştırıyorum zaten ama istediğim bunu tweet bitinceye kadar döngüye sokmak. İstersen nasıl yaptığımın kodlarını yazayım?
  • 24-12-2013, 15:59:12
    #6
    ceil(753223/7854); ile yukarı yuvarlarsın sorun değil ki.
  • 24-12-2013, 19:15:29
    #7
    aliosmanyuksel adlı üyeden alıntı: mesajı görüntüle
    Üstad ben bu kodu tek seferliğine çalıştırıyorum zaten ama istediğim bunu tweet bitinceye kadar döngüye sokmak. İstersen nasıl yaptığımın kodlarını yazayım?
    Al kardesim istedigin buydu galiba senin.

    <?php
    $ekAlan = ' #AliOS ';
    $tweetKaynakDosya = file('tweet.txt');
    foreach($tweetKaynakDosya as $randomTweet)
    {
        (strlen($randomTweet) % 2 == 0) ? $randomTweet = $ekAlan.$randomTweet : $randomTweet = $randomTweet.$ekAlan;
        # Twitter API Islemleri
        echo $randomTweet;
        # Twitter API Islemleri Bitis
    }
    ?>
  • 24-12-2013, 22:27:34
    #8
    $tweets = Array();
    $users = Array();

    $stop = ceil($tweets / $users)

    $i = 0;
    $k = 0;
    while($i <= count($tweets)){
    sendtweet($tweets[$i],$users[$k]);
    if($k == $stop) $k = 0;
    }


    Dizileri doldurup bu şekilde işlemi söylediğiniz gibi yapabilirsiniz.
  • 25-12-2013, 23:50:33
    #9
    <?php
    require_once('twitteroauth/twitteroauth.php');
    require_once('config.php');
    include("ayar.php");
    echo '    <meta charset="utf-8">';
    $id = $_GET['id'];
    $set_limit = (int)$_GET['limit'];
    $limit = 10;
    
    
    $sorgu = mysql_query("select * from uyeler LIMIT $set_limit,$limit");
    $ekAlan = ' #AliOS ';
    $tweetKaynakDosya = file('tweet.txt');
    $toplam = count($tweetKaynakDosya);
     
    $i = 0;
    while($row = mysql_fetch_assoc($sorgu)){
    $i++;
    if($i < $toplam){
    // Connect twitter : 
    $auth = $row['oauthToken'];
    $auth_secret = $row['oauthScreet'];
    
    
    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $auth, $auth_secret); // Twitter doğrulama
    
    
    
    
        (strlen($randomTweet) % 2 == 0) ? $randomTweet = $ekAlan.$tweetKaynakDosya[$i] : $randomTweet =$tweetKaynakDosya[$i].$ekAlan;
    $connection->post( 'https://api.twitter.com/1.1/statuses/update.json', array( 'status' => $randomTweet ) );
    
    
    }
    }
    
    ?>
    Böyle birşey yaptık forumdan arkadaşın yardımıyla. Şurası şöyle olsun dediğiniz bir yer var mı? Herkes faydalansın bu kodtan