• 21-07-2019, 03:11:19
    #1
    Üyeliği durduruldu
    elimde 200 site adresi var. hepsine döngüyle bağlanıp, sayfa başlıklarını alıyorum ama bazı siteler geç açılıyor bu yüzden sonucu çok geç veriyor.

    istiyorum ki file_get_contents ile bi siteye 5 saniyede bağlanıp içeriği alsın, daha fazla sürecekse, sıradaki siteye geçsin.

    bunu nasıl yapabilirim acaba ?
  • 21-07-2019, 03:16:14
    #2
    Multi curl ile ilgili araştırma yapmanı tavsiye ederim.
    Çok daha hızlı ve curl olduğu için daha verimli olacağına eminim hocam.
    • GonGo
    GonGo bunu beğendi.
    1 kişi bunu beğendi.
  • 21-07-2019, 03:28:48
    #3
    $ctx = stream_context_create(array('http'=>
        array(
            'timeout' => 5
        )
    ));
    
    echo file_get_contents('https://nixarsoft.com/', false, $ctx);
    • GonGo
    GonGo bunu beğendi.
    1 kişi bunu beğendi.
  • 21-07-2019, 03:41:52
    #4
    Misafir adlı üyeden alıntı: mesajı görüntüle
    $ctx = stream_context_create(array('http'=>
        array(
            'timeout' => 5
        )
    ));
    
    echo file_get_contents('https://nixarsoft.com/', false, $ctx);
    Bu işlem file_get_contents için timeout yani gecikme süresi ayarlıyor değil mi hocam?

    Aynı anda 200 siteye birden curl işlemi yapması hem vakit hemde kolaylık sunar düşüncesindeyim
  • 21-07-2019, 04:49:47
    #5
    eğer aynı anda birden fazla siteye istek gönderecekseniz curl multi ile yapmanız lazım.

    https://www.php.net/manual/tr/functi...multi-init.php
  • 21-07-2019, 13:29:16
    #6
    multi threading konusunu araştırın.