• 03-02-2023, 19:52:50
    #10
    Wixir adlı üyeden alıntı: mesajı görüntüle
    <?php
    set_time_limit(0);
    ini_set('max_execution_time','0');
    ini_set('memory_limit','1000000000000M');
    
    $db = new PDO("mysql:host=localhost;dbname=wixirne1_link;charset=utf8mb4", "wixirne1_link", "x%");
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    
    function OzelKarakterTemizle($veri)
    {
    $veri =str_replace("`","",$veri);
    $veri =str_replace("=","",$veri);
    $veri =str_replace("&","",$veri);
    $veri =str_replace("%","",$veri);
    $veri =str_replace("!","",$veri);
    $veri =str_replace("#","",$veri);
    $veri =str_replace("<","",$veri);
    $veri =str_replace(">","",$veri);
    $veri =str_replace("*","",$veri);
    $veri =str_replace("And","",$veri);
    $veri =str_replace("'","",$veri);
    $veri =str_replace("chr(34)","",$veri);
    $veri =str_replace("chr(39)","",$veri);
    return $veri;
    }
    
    function instagram($username){
        $curl = curl_init();
        curl_setopt_array($curl, [
            CURLOPT_URL => "https://instagram-profile1.p.rapidapi.com/getprofile/".$username,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_ENCODING => "",
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 30,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => "GET",
            CURLOPT_HTTPHEADER => [
                "X-RapidAPI-Host: instagram-profile1.p.rapidapi.com",
                "X-RapidAPI-Key: x"
            ],
        ]);
        $response = curl_exec($curl);
        curl_close($curl);
        $json = json_decode($response, true);
        return $json;  
    }
    
    $query = $db->query("SELECT * FROM instagram WHERE api='off' LIMIT 200");
    
    foreach($query->fetchAll() as $data){
            $username = $data["kullanici_adi"];
            $ID = $data["id"];
            $api = instagram($username);
            sleep(5);
            $follower = $api["followers"];
            @$dataedrfwer = file_get_contents($api["profile_pic_url_hd_proxy"]);
            $image = 'data:image/jpeg;base64,' . base64_encode($dataedrfwer);
            $is_business = $api["is_business"];
            $is_verified = $api["is_verified"];
            $is_private = $api["is_private"];
            $category_name = $api["category_name"];
            $following = $api["following"];
            $bio = OzelKarakterTemizle($api["bio"]);
            $full_name = OzelKarakterTemizle($api["full_name"]);
            $media = $api["lastMedia"]["count"];
            $db->query("UPDATE instagram SET takipcisayisi='".$follower."', profilresmi='".$image."', is_business='".$is_business."', is_verified='".$is_verified."', is_private='".$is_private."', category_name='".$category_name."', following='".$following."', bio='".$bio."', media='".$media."', full_name='".$full_name."', api='on' WHERE kullanici_adi='".$username."'");
            $db->query("INSERT INTO instagram_log(instagram_id, takipcisayi, tarih) VALUES('".$ID."', '".$follower."', '".date('d-m-Y H:i')."')");
    }
    bu şekilde hata veriyor mu
  • 03-02-2023, 19:54:05
    #11
    We ❤️ Youtube
    yusok32 adlı üyeden alıntı: mesajı görüntüle
    güncel kodu atar mısınız
    yusok32 adlı üyeden alıntı: mesajı görüntüle
    bu şekilde hata veriyor mu
    Hayır vermemekte çalışıyor bu şekilde
  • 03-02-2023, 20:37:14
    #12
    yusok32 adlı üyeden alıntı: mesajı görüntüle
    max_execution_time değerini 0 girince local veya sunucu farketmiyor hocam, local olsun sunucu olsun saatlerce veri çektiğimi hatırlıyorum. Tabi sunucu kaynaklı farklılıklar olabilir, bu arada arkadaşın eklediği 57. satır iş görmez neden derseniz zaten rapid isteği instagram fonksiyonu ile başlıyor ve o eklenen sleep rapide uğramıyor. Benim attığım şekilde döngünün en başına eklenmesi en doğrusu olacaktır
    Yanılıyorsunuz hocam, döngü bitmeden ikinci bir instagram fonksiyonu dönmeyecek, haliyle veri de çekilmeyecek. Döngünün bitişine de sleep(3) ekleseniz döngünün bitişini 3 saniye uzatmış olursunuz. Haliyle başa veya sona yazmanız bir şey değiştirmeyecektir, sonuçta döngü bitip ikinci bir instagram fonksiyonunu çalıştıracaktır. Set time limit'e gelince ise bazı hostingler (hatta neredeyse tamamı) web serverlarında belirli bir saniyenin üzerini limiti 0'lasanız da çalıştırmayıp otomatik durdurmakta. O nedenle local/hosting farkına değindim.