2012-02-09 72 views
3

我在PHP初学者,我正在做小项目,这将帮助我学习更多的PHP。 Web服务器上的任何方式我已经上传在这种格式的图片:在PHP中更改图像src?

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

等等....

在我的页面的主体,我有:

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

这是为什么代码不起作用? 我也想创建每次用户点击一个按钮的$imageNumber得到通过增加1

+1

' 2012-02-09 21:09:01

+1

:)在答案的数目 – halfer 2012-02-09 21:10:13

回答

1

$变量不神奇的工作一个PHP代码块之外的功能。

下面的方法将做你想做什么:

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

或者

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

为什么这种被downvoted – halfer 2012-02-09 21:11:49

+1

请不要跳!?在没有答案的情况下,没有解释或代码样本成为第一个回答者,这没有帮助 – 2012-02-09 21:12:59

+0

@halfer因为除了第一句话之外,没有其他内容,直到它被编辑后的一堆downvotes – 2012-02-09 21:13:31

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。

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

那里额外的双引号。 – circusdei 2012-02-09 21:09:05

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> 
+0

功能如何? – user1200640 2012-02-09 21:11:45

+0

正如别人所说,你会做的按钮在javascript – Kato 2012-02-09 21:12:45

+0

不要忘了指向第一个

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

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

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

已正确设置变量$图像NUMBER,但是你再需要输出它的回声:

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

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

  • 你忘了一个echo(或print
  • 奇怪的单/杜贝尔报价
  • 怪点

您正在寻找的东西,如:

<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> 
1

PHP代码只能的PHP开始和结束标记(<?php ?>)。

以下块的工作:在PHP标签内

<?php 

$imageNumber = 1; 

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

一切都会被PHP解释,其余部分保持不变。
随着线<?php echo $imageNumber; ?>,PHP将回声('发送到浏览器')变量$ imageNumber。因此,在浏览器中收到这样的:

<img src="1.jpg" />