Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP与几个<;img>;从文件夹中_Php_Html - Fatal编程技术网

PHP与几个<;img>;从文件夹中

PHP与几个<;img>;从文件夹中,php,html,Php,Html,所以我基本上有这个代码: <?php $lang = isset($_GET['lang']) ? $_GET['lang'] : NULL; $langArray = array('en', 'de', 'fr', 'es', 'it'); $img = "<img src='img/".$lang."/1.png' />"; ?> [some useless code here...] <div class="col ">

所以我基本上有这个代码:

<?php
    $lang = isset($_GET['lang']) ? $_GET['lang'] : NULL;
    $langArray = array('en', 'de', 'fr', 'es', 'it');

    $img = "<img src='img/".$lang."/1.png' />";
?>

[some useless code here...]

<div class="col ">
    <?php echo $img; ?>
    <p>Here some text under the img</p>
</div>
有没有办法用一个循环来回音这些图片?我是PHP新手,不确定应该写什么

谢谢。

  • 您可以使用
    for
    循环
    $i
  • 别忘了用
    =
    连接你的值
您可以这样循环:

<?php
    $lang = isset($_GET['lang']) ? $_GET['lang'] : NULL;
    $langArray = array('en', 'de', 'fr', 'es', 'it');

    if (!is_null($lang)) {
        $img = '';
        for($i=1;$i<=5;$i++) {
            $img .= "<img src='img/".$lang."/".$i.".png' />";
        }
    }
?>

  • 您可以使用
    for
    循环
    $i
  • 别忘了用
    =
    连接你的值
您可以这样循环:

<?php
    $lang = isset($_GET['lang']) ? $_GET['lang'] : NULL;
    $langArray = array('en', 'de', 'fr', 'es', 'it');

    if (!is_null($lang)) {
        $img = '';
        for($i=1;$i<=5;$i++) {
            $img .= "<img src='img/".$lang."/".$i.".png' />";
        }
    }
?>

您可以像这样在html中使用循环

<?php for($i = 1; $i <= 5; $i++): ?>
    <img src="img/<?= $lang ?>/<?= $i ?>.png" />
<?php endfor; ?>

/.png“/>

您可以像这样在html中使用循环

<?php for($i = 1; $i <= 5; $i++): ?>
    <img src="img/<?= $lang ?>/<?= $i ?>.png" />
<?php endfor; ?>

/.png“/>

作为@Jouby的答案的补充(这是您需要的循环),我希望您指出您的代码并不真正安全

在输出中直接使用$\u GET参数会带来麻烦。请先转义该值(例如使用htmlspecialchars()),或者更好: 检查$lang的值是否是$langArray中的元素(例如通过使用in_array())。这样,您就知道将在代码中输入哪些值

只是想一想:如果$_GET['lang']包含这样的内容会怎么样

"<script>alert('I can steal your session (or worse!)');</script>
“警报('我可以窃取您的会话(或更糟!));

作为对@Jouby的回答的补充(这是您需要的循环),我希望您指出您的代码并不真正安全

在输出中直接使用$\u GET参数会带来麻烦。请先转义该值(例如使用htmlspecialchars()),或者更好: 检查$lang的值是否是$langArray中的一个元素(例如通过使用in_array()),这样您就知道将在代码中放入哪些值

只是想一想:如果$_GET['lang']包含这样的内容会怎么样

"<script>alert('I can steal your session (or worse!)');</script>
“警报('我可以窃取您的会话(或更糟!));

以循环方式回显这些图片?。。。当然,这就是循环确实存在的原因。。看看for循环。。。顺便说一句:你的
$langArray
在当前代码中没有任何意义,因为你没有真正使用itecho来循环这些图片?。。。当然,这就是循环确实存在的原因。。看看for循环。。。顺便说一句:你的
$langArray
在当前代码中没有任何意义,因为你没有真正使用它。输入错误可能会发生在任何人身上。我编辑这个答案是为了添加一个条件来避免
$lang=NULL
的问题。我编辑这个答案是为了添加一个条件来避免
$lang=NULL
的问题