[英]How to echo an image with php
我正在尝试回显我的'_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菜鸟,所以这可能是一个明显的错误!
你已经在php / echo out了,所以你不需要使用php标签:
echo '<img src="' . bloginfo('stylesheet_directory') . '/_images/project3image1.jpg">';
不要将标记与代码混合。 你在寻找麻烦,这一切都失去了可读性。 像这样使用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"
要使用第二种代码样式,首先要关闭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代码,以在任何属性或标记内容中输出它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.