2017-05-13 6 views
0

以下は、「api」にアクセスして最大10枚の画像を表示するために使用するスクリプトです。これまでのところ動作しますが、ユーザーの画像が10枚未満の場合はエラーとなります。 MAX 10画像を表示するにはどうしたらいいですか?ユーザーが10未満の場合は、ユーザーの画像量のみを表示しますか?Instagram APIスクリプト - 画像をカウントして最大値を表示する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 



} 
?> 

答えて

1

、そこにそれを行うのいくつかの方法があるが、ここであなたがまた持っているように見える1

ですいくつか不要な<?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 
    } 
?> 
+0

ねえ。あなたのソリューションをありがとう。たとえば、ユーザーが100個のイメージを持っている場合、このスクリプトは100個のイメージを出力しますか?私は最大10枚の画像しか処理できないので、制限できますか? – N1njaWTF

+0

ああ..最大10の制限を忘れて、もう一度私に与えてください – RiggsFolly

+0

愚かな私、thats良い。その最初の試みについて申し訳ありません – RiggsFolly

関連する問題