Instagram API 脚本 - 计数图像并显示最多 10 张



下面您可以看到我用来访问"api"并显示最多 10 张图像的脚本。到目前为止,这很有效,但是如果用户的图像少于10张,则会出错。如何显示最多 10 张图像,如果用户的图像少于 10 张,则仅显示用户拥有的图像数量?

脚本:

<?php

    // Get data from Instagram User
    $url        = "https://www.instagram.com/wsj/media/";
    $instagramdata  = @file_get_contents($url);
    $instagramdata  = json_decode($instagramdata, true);

?><div class="instagramfeed"><?php
for($i = 0; $i < 10; $i++){
    $instagramimages = $instagramdata['items'][$i]['images']['standard_resolution']['url'];
    $instagrampage = $instagramdata['items'][$i]['code'];
    $instagramlikes = $instagramdata['items'][$i]['likes']['count'];

    ?><a href="http://instagram.com/p/<?=$instagrampage?>" target="_blank"><?php
    ?><div class="instagramimages" style="background:url(<?=$instagramimages?>)no-repeat center;background-size:cover;"><?php
    ?>
    <div class="instagramimagesoverlay">
        <span class="instagramimagesoverlaytext"><i class="fa fa-heart fa-1x" aria-hidden="true"></i>&nbsp;<?php echo $instagramlikes;?></span>
    </div>
    <?php

    ?></a><?php
    ?></div><?php

}
?>

您需要为数组中的项目数设置 Count,有很多方法可以做到这一点,但这里有一种

您似乎也有一些不必要的<?php .. ?>对,其中没有任何内容,所以我也删除了它们。

<?php
    // Get data from Instagram User
    $url            = "https://www.instagram.com/wsj/media/";
    $instagramdata  = @file_get_contents($url);
    $instagramdata  = json_decode($instagramdata, true);

?>
    <div class="instagramfeed">
<?php
    $cnt = count($instagramdata['items']) > 10 ? 10 : count($instagramdata['items']);
    for($i = 0; $i < $cnt; $i++){
        $instagramimages = $instagramdata['items'][$i]['images']['standard_resolution']['url'];
        $instagrampage = $instagramdata['items'][$i]['code'];
        $instagramlikes = $instagramdata['items'][$i]['likes']['count'];
?>
    <a href="http://instagram.com/p/<?=$instagrampage?>" target="_blank">
        <div class="instagramimages" style="background:url(<?=$instagramimages?>)no-repeat center;background-size:cover;">
        <div class="instagramimagesoverlay">
            <span class="instagramimagesoverlaytext"><i class="fa fa-heart fa-1x" aria-hidden="true"></i>&nbsp;<?php echo $instagramlikes;?></span>
        </div>
    </a>
    </div> <!-- this probably belongs outside the foreach loop-->
<?php
    }
?>

最新更新