如何使用php回显图像

时间:2012-09-23 12:46:23

标签: php wordpress echo image

我正在试图回复我的'_images'文件夹中的图片,但是如果我写下面的代码,它只适用于我的网站:

echo '<img src="http://mywebsite.com/mytheme/wp-content/themes/my theme/_images/project3image1.jpg">';

我已将其更改为此,所以当其他人使用我的主题时,会将他们带到自己的网站目录中:

echo '<img src="<?php bloginfo('stylesheet_directory'); ?>/_images/project3image1.jpg">'; 

但是当我把它和预览我的网站给我这个错误时,这个代码肯定有问题:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/content/32/9825632/html/bomb/wp-content/themes/bomb/header.php on line 101

我是一个PHP菜鸟,所以这可能是一个明显的错误!

3 个答案:

答案 0 :(得分:5)

你已经在php / echo out了,所以你不需要使用php标签:

echo '<img src="' . bloginfo('stylesheet_directory') . '/_images/project3image1.jpg">';

答案 1 :(得分:4)

不要将标记与代码混合。你在寻找麻烦,这一切都失去了可读性。像这样使用printf

printf( '<img src="%s/_images/project3image1.jpg">', bloginfo('stylesheet_directory'));

但你真正的问题是嵌套的引号。如果使用'来分隔字符串边界,例如:

'foo'

然后字符串内容也包含'

'foo'bar'

必须像这样转义:

'foo\'bar'

否则您的内容引号将被视为字符串的右引号。或者您可以改为使用"

"foo'bar"

但是再次 - 如果您的字符串内容包含",则必须对其进行转义:

"foo\"bar"

如果string包含"',那么你只需要转义那个字符串分隔符,即:

'foo"bar\'foo'

"foo'bar\"foo"

答案 2 :(得分:0)

要使用第一种代码方式,首先关闭php标记:

    //...your php code before echoing the img

    //here you close the tag 
    ?>

    <img src="<?=bloginfo('stylesheet_directory')?>/_images/project3image1.jpg" />

    <?php //here you open it again

    //your rest php code...

你的PHP代码中的任何地方,如果你想回应一些HTML,只需关闭php标签,编写你的HTML并再次打开php标签。但最好不要混淆html和php。尝试在你的文件开头写完所有的PHP代码,然后在你的所有html之后编写。在你的PHP代码中使用动态值创建变量并在html中注入php代码,以在任何属性或标记内容中输出它们。