在php中更改图像src?

时间:2012-02-09 21:06:07

标签: php

我是初学者在php,我正在制作小项目,这将帮助我学习更多的PHP。在网络服务器上的任何方式我已经上传了以这种格式的图片:

1.jpg
2.jpg
3.jpg
4.jpg
5.jpg 

依旧......

在我的页面正文中:

<?php
$imageNumber = 1;
?>
<img src="'$imageNumber'.'.jpg'">

为什么这段代码不起作用? 我还要创建一个函数,每当用户点击按钮时$imageNumber增加1

10 个答案:

答案 0 :(得分:6)

您只能在PHP标记内使用PHP变量。

<?php
   $imageNumber = 1;
   echo '<img src="'.$imageNumber.'.jpg'">';
?>

或者

<?php
   $imageNumber = 1;
?>
<img src="<?php echo $imageNumber ?>.jpg">

对于该功能,请使用javascript。 jQuery会最简单,但我也包含了一个原始版本:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
  <html>
  <head>
     <title></title>
     <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script>

  </head>
  <body>

  <img id="the_image" src="1.jpg">

  <input type="button" id="the_button" value="change" />

  <script type="text/javascript">
     var maxNumImages = 5;
     // for the function, use javascript. jQuery would be simplest:
     jQuery(function($) {

        $('#the_button').click(function() {
           var num = ($('#the_image').attr('src').match(/(\d+).jpg$/)||[false])[1];
           if( num !== false ) {
              if( num == maxNumImages ) { num = 0; }
              $('#the_image').attr('src', (++num)+'.jpg');
           }
        });

     });
  </script>

  <img id="the_image2" src="1.jpg">

  <input type="button" id="the_button2" value="change" />

  <script>
     // or in old fashioned (i.e. boring,sad,pathetic,vanilla) js:
     var maxNumImages = 5;
     var button = document.getElementById('the_button2');
     button.onclick = function() {
        var image  = document.getElementById('the_image2');
        console.log(image.src);
        var num = (image.src.match(/(\d+).jpg$/)||[false])[1];
        console.log(num);
        if( num !== false ) {
           if( num == maxNumImages ) { num = 0; }
           image.src = (++num)+'.jpg';
        }
     }
  </script>


  </body>
  </html>

答案 1 :(得分:2)

我希望这不是你唯一的代码吗?

  • 您忘记了echo(或print
  • 奇怪的单/ dubbel引用
  • 奇点

您正在搜索类似的内容:

<img src="<?php echo $imageNumber; ?>.jpg">

增加数量使用++

$i = 0;
echo ++$i; // echo's 1 (increase the number and print it)
echo $i++; // echo's 1 (print it and then increase the number)
echo $i; // echo's 2 (print the number)

点击按钮可以更好地使用JS:

<img src="1.jpg" id="img-id">
<button id="increaseImg">Increase img</button>

<script>
  var img = document.getElementById('img-id'), // get the img tag
      btn = document.getElementById('increaseImg'), // get the button tag
      i = 1; // the number

  btn.onclick = function() {
    img.src = ++i + '.jpg'; // each click increase i and change the img src
  };
</script>

答案 2 :(得分:1)

$变量不会在PHP代码块之外神奇地工作。

以下方法可以完成您要做的事情:

<?php
$imageNumber = 1;
echo '<img src="' . $imageNumber . '.jpg">';
?>

或者

<?php
$imageNumber = 1;
?>
<img src="<?php echo $imageNumber; ?>.jpg">

答案 3 :(得分:1)

<?php
$imageNumber = 1;
?>
<img src="<?php echo $imageNumber; ?>.jpg" />

OR

<?php
$imageNumber = 1;
echo "<img src='$imageNumber.jpg' />";
?>

OR

<?php
$imageNumber = 1;
echo '<img src="' . $imageNumber . '.jpg" />';
?>

不要将PHP用于点击按钮。使用JavaScript。

答案 4 :(得分:1)

<?php
$imageNumber = 1;
?>
<img src="<?php echo $imageNumber;?>.jpg">

答案 5 :(得分:1)

试试这个。 PHP变量只会在php标签内解析。

<?php
$imageNumber = 1;
echo "<img src=\"{$imageNumber}.jpg\">";
?>

答案 6 :(得分:1)

您已正确设置变量$ imageNumber,但是您需要使用echo输出它:

<?php
$imageNumber = 1;
?>
<img src="<?php echo $imageNumber; ?>.jpg">

答案 7 :(得分:1)

PHP代码仅在里面使用PHP开始和结束标记(<?php ?>)。

以下块有效:

<?php

$imageNumber = 1;

?>
<img src="<?php echo $imageNumber; ?>.jpg" />

PHP标记内的所有内容都将由PHP解释,其余内容不受影响 使用行<?php echo $imageNumber; ?>,PHP将回显('发送到浏览器')变量$ imageNumber。因此,浏览器收到这个:

<img src="1.jpg" />

答案 8 :(得分:0)

    <img src="<?PHP echo $imageNumber ?>.jpg">

答案 9 :(得分:0)

首先,您需要在图片上使用Array,然后再计算该数组, 为数组的每个关键项创建模板 “ .jpg alt =” echo url“ />

`

$images= array("1", "2", "3", "4", "5", "6");

shuffle($images);
foreach ($images as $img) {
    echo "<img src='imagesDirectory/$img.jpg'> <br>";
}

`