【问题标题】:Use PHP to increment number for image ID使用 PHP 增加图像 ID 的编号
【发布时间】:2016-02-05 20:28:02
【问题描述】:

所以,我有一个问题,我有 67 个(并且还在计数)图像,它们都命名为 IMAGE01.jpg、IMAGE02.jpg 到 IMAGE67.jpg。

在我的 HTML 页面中,我有这段代码来显示图像。

<article class="thumb">
                        <a href="images/fulls/image01.jpg" class="image"><img src="images/thumbs/image01.jpg" alt="" /></a>
</article>

所以,我有 67 张图片。有没有办法使用 PHP 增加图像编号?所以我可以根据我拥有的图像数量复制并粘贴那段代码吗?

这也是有解决方案的第一部分。但是,有没有办法不必为每张图像重复该代码?是否可以使用 PHP 来定义我希望重复的次数?

所以有一次代码的 sn-p 并有一些东西可以重复它定义的次数,这样当我添加到集合中时,我所要做的就是更改重复次数?

非常感谢您的帮助。表示分配。

【问题讨论】:

  • 您正在寻找 for 循环...提示搜索 google "php for loop"
  • 也可以使用while 循环。用户偏好使用哪个循环。

标签: php html image numbers


【解决方案1】:
<?php
    for($i=1; $i<=67; $i++) {
?>
<article class="thumb">
    <a href="images/fulls/image<?php
        if($i<9)
            echo "0".$i;
        else
            echo $i;
    ?>.jpg" class="image"><img src="images/thumbs/image<?php
        if($i<9)
            echo "0".$i;
        else
            echo $i;
    ?>.jpg" alt="" /></a>
</article>
<?php
    }
?>

【讨论】:

  • 为什么 OP 应该尝试这个? 好的答案将始终解释所做的事情以及这样做的原因,不仅适用于 OP,也适用于 SO 的未来访问者。
  • 从答案中很明显为什么要使用 OP 试试这个!
  • 请记住,新的程序员和其他访问者会来到这里,发现这个并且不知道你做了什么或者你为什么这样做。如果没有解释并且仅作为代码答案,它可能会被社区删除,并且不太可能获得很多(如果有的话)选票。当你是一个新程序员的时候,你会不加解释地理解这一点吗?
  • 我似乎无法让它工作?任何想法为什么?我可以看到它正在尝试做什么,并且正在尝试这样做,但没有结果。
【解决方案2】:

要制作您想要的内容,您需要使用从 1 到 67 的 for 循环(因为您的图像名称是从 1 到 67)。对于每次迭代,您都必须回显 html 字符串。

例如:

for($i = 1; $i<=67; $i++){
    $name = $i<10?"0".$i:$i;
    echo "<article class='thumb'>
        <a href='images/fulls/image".$name.".jpg' class='image'>
            <img src='images/thumbs/image".$name.".jpg' alt=''/>
        </a>
    </article>";
}

如果名称需要在 (01, 02 ...) 之前有 0,则需要构造名称。这就是我在这里制作的:$name = $i&lt;10?"0".$i:$i;。这意味着如果 $i

你也可以使用while循环:

$i = 1;
while($i<=67){
    $name = $i<10?"0".$i:$i;
    echo "<article class='thumb'>
        <a href='images/fulls/image".$name.".jpg' class='image'>
            <img src='images/thumbs/image".$name.".jpg' alt=''/>
        </a>
    </article>";
    $i++;
}

这是同样的想法。

希望对你有所帮助。

【讨论】:

    【解决方案3】:

    您可以使用 PHP 变量并将其注入您的 HTML。以下代码将从 1 到 67 进行计数。

    <?php
    $count = 1;
    
    while($count <= 67){
    ?>
    <p>Count: <?php echo $count; ?></p>
    <?php
        $count +=1;
    }
    ?>
    

    所以你可以这样使用它:

    <article class="thumb">
    <?php
    $count = 1;
    
    while($count <= $numOfImages){
    ?>
        <a href="images/fulls/image<?php echo $count; ?>.jpg" class="image"><img src="images/thumbs/image<?php echo $count; ?>.jpg" alt="" /></a>
    <?php
        $count +=1;
    }
    ?>
    </article>
    

    只需将$numOfImages 设置为有多少图像,它应该可以工作。

    【讨论】:

    • 您的代码省略了前导零(0102),并以 0 开头(OP 以 01 开头)。您只会显示 66 张图片,而不是 67 张。
    • 它从 1 开始,因此 $count 是 1。但是我确实忘记了0。 OP可以从上述任何答案中获取一些简单的逻辑。它也将运行到 67,或任何 OP 想要的数字。 &lt;= 负责处理。
    【解决方案4】:
    You can try this sample code below if images are one after the other. Using single for loop with printf inside echo...
    
    <body>
    
    <?php
    
    for ($i = 0; $i < 67; $i++) {
    
    ?>
    
    <article class="thumb">
    <a href="images/full/image<?php printf("%02d\n", $i)?>.jpg" ><img src="images/thumb/image<?php printf("%02d\n", $i)?>.png" alt="" /></a>
    </article>
    
    <?php
    }
    ?>
    </body>
    
    Here is the sample output I kept only one image for testing.     http://i.stack.imgur.com/l1Lo5.png
    

    【讨论】:

      猜你喜欢
      • 2014-11-16
      • 1970-01-01
      • 2018-12-06
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 2015-03-17
      • 2014-05-07
      • 2023-04-04
      相关资源
      最近更新 更多