【问题标题】:Instagram API script - Count images and display max 10Instagram API 脚本 - 计算图像并显示最多 10 个
【发布时间】:2017-05-13 23:01:47
【问题描述】:

您可以在下面看到我用来访问“api”并显示最多 10 张图像的脚本。到目前为止,这是可行的,但如果用户的图像少于 10 张,则会出错。如何显示 MAX 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



}
?>

【问题讨论】:

    标签: php api instagram


    【解决方案1】:

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

    您似乎还有一些不必要的 &lt;?php .. ?&gt; 对,其中没有任何内容,所以我也删除了这些。

    <?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
        }
    ?>
    

    【讨论】:

    • 嘿。非常感谢您的解决方案。例如,如果用户有 100 张图像,那么此脚本会输出 100 张图像吗?我可以限制,所以它最多只能处理 10 张图片吗?
    • 啊.. 忘记了最大 10 的限制,给我一秒钟
    • 傻我,那更好。对第一次尝试感到抱歉
    • 完美,伙计! :)) 非常感谢。这正是我想要实现的目标。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 2020-05-05
    • 1970-01-01
    相关资源
    最近更新 更多