2012-02-09 22 views
3

Я начинаю в php, и я делаю небольшой проект, который поможет мне узнать больше php. каким-либо образом на веб-сервер, я загрузил фотографии, которые в этом формате:изменить изображение src в php?

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

и так далее ....

в теле моей странице у меня есть:

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

почему это код не работает? также я хочу создать функцию, которая каждый раз, когда пользователь нажимает на кнопку $imageNumber получить увеличивается на 1

+1

' ', вероятно, сделает это за вас –

+1

:) по количеству ответов – halfer

ответ

1

$ переменных не волшебно работать за пределами PHP кода блока.

следующие подходы будут делать то, что вы пытаетесь сделать:

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

Или

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

Почему это было downvoted – halfer

+1

Пожалуйста, не прыгать.!? –

+0

@halfer Поскольку у него не было никакого содержания, кроме первого предложения, до тех пор, пока оно не было отредактировано после пучка downvotes. –

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

ИЛИ

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

ИЛИ

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

Не используйте PHP для кнопки «кнопка». Используйте JavaScript.

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

дополнительная двойная кавычка там. – circusdei

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

+0

, как заявили другие, вы бы сделали кнопку в javascript – Kato

+0

Не забудьте указать первые

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)
  • Strange одиночный/dubbel цитирует
  • странных Dot

Вы ищете что-то вроде:

<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 

$imageNumber = 1; 

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

Все внутри PHP теги будут интерпретироваться PHP, остальное остается неизменным.
С линией <?php echo $imageNumber; ?> PHP будет echo ('отправить браузеру') переменную $ imageNumber. Таким образом, браузер по получает это:

<img src="1.jpg" /> 
Смежные вопросы