代码之家  ›  专栏  ›  技术社区  ›  user16218933

php上没有显示图像

  •  0
  • user16218933  · 技术社区  · 2 年前

    我有一个txt文件,里面有一个绘画id。这个绘画id与图像的名称相同。例如,在txt文件中,绘画id是00000,我在echo语句中写入的路径中的图像的名称是00000 00000.jpg .

    我要做的是用这个来显示所有的图像 for 循环和 echo 陈述但由于某些原因,这些图像没有显示出来。取而代之的是 thats what is being displayed instead of the images 有人能帮我解决这个问题吗?

     <?php 
     $paintings = file('paintings.txt') or die('ERROR: Cannot find file');
     $delimiter = '~';
     foreach ($paintings as $painting){
        $paintingFields = explode($delimiter, $painting);
        $painting_id = $paintingFields[0];
    }
    for($i=0;$i<count($paintings); $i++){
    echo "<img src='resources/paintings/square-medium/%s.jpg' . $painting_id></br>"; 
    
    } 
    
        ?>
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   kmoser    2 年前

    你在用 echo 错误的如果查看生成页面的源代码,您将在代码中看到文本“%s”。

    要将“%s”用作格式字符串,请使用 sprintf() :

    echo sprintf("<img src='resources/paintings/square-medium/$s.jpg'></br>", $painting_id); 
    

    或者:

    echo "<img src='resources/paintings/square-medium/" . $painting_id . ".jpg'></br>"; 
    

    更好的是,只需在PHP模式下进行输出:

    for($i=0;$i<count($paintings); $i++){
    ?>
     <img src="resources/paintings/square-medium/<?= $painting_id ?>.jpg"><br>
    <?php
    }