v2.5.2
Giriş yap

İnstagram post çekme döngü durdurma

talhostic
822 defa görüntülendi

Selamlar herkese. " PHP ile Instagram Son Fotoğrafları Çekmek + Cache + Farklı Yol " videosundaki yapılan işlemde çekilen instagram postlarının sadece son eklenen 3 postu çekecek şekilde nasıl değiştirebilirim? Yardımcı olabilirseniz sevinirim. Teşekkürler.

<?php 

  $json = file_get_contents('https://www.instagram.com/metadijital/?__a=1');
  $data = json_decode($json, true);

  if($data->count() < 3){

  foreach($data['graphql']['user']['edge_owner_to_timeline_media']['edges'] as $image)
  {{ 
  ?>
  
    <li>
        <a href="">
        <img src="<?=$image['node']['display_url']?>" alt="" style="width:87px;height:87px;">
        </a>
    </li>
    
<?php 
  }}
        endforeach; 
        }
                        
?>
Cevap yaz
Cevaplar (6)
tayfunerbilen
1447 gün önce

şöyle deneyebilirsin;

$json = file_get_contents('https://www.instagram.com/metadijital/?__a=1');
$data = json_decode($json, true);

foreach ($data['graphql']['user']['edge_owner_to_timeline_media']['edges'] as $key => $image) {
    if ($key > 2) break;
    // işlemler
}
tayfunerbilen
1446 gün önce

ne yazık ki instagram artık bunun önüne geçti, yeni bir yöntem bulana kadar şimdilik bir yöntemi yok gibi :)

talhostic
1446 gün önce

Çalıştı. Teşekkürler. Ayrıca kod localhost da çalışıyor fakat sunucuda çalışmıyor. Neden kaynaklanıyor olabilir?

makifgokce
1447 gün önce
<?php 

  $json = file_get_contents('https://www.instagram.com/metadijital/?__a=1');
  $data = json_decode($json, true);

  $i = 0;
  foreach($data['graphql']['user']['edge_owner_to_timeline_media']['edges'] as $image):
    if($i > 2){
        break;
    }
    $i++;
  ?>
  
    <li>
        <a href="">
        <img src="<?=$image['node']['display_url']?>" alt="" style="width:87px;height:87px;">
        </a>
    </li>
    
<?php 
    endforeach; 
                        
?>
talhostic
1447 gün önce

Bu şekilde yazdım fakat başarılı olmadı. Hatalı yazdım sanırsam. @makifgokce

    $json = file_get_contents('https://www.instagram.com/metadijital/?__a=1');
    $data = json_decode($json, true);
    
     $i = 0;
        foreach($data['graphql']['user']['edge_owner_to_timeline_media']['edges'] as $image){
            if($i < 3){
            ?>
              <li>
                <a href="">
                  <img src="<?=$image['node']['display_url']?>" alt="">
                </a>
              </li>
    
              <?php
              }
                $i++;
                }

              ?>    
makifgokce
1448 gün önce

döngüyü durdurmak için break; kullanabilirsin.

$i = 0;
foreach(){
    if($i > 3){
        break;
    }
    $i++;
}