繁体   English   中英

如何使用php回显图像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM