如何将PHP变量写为HTML属性值?

时间:2019-04-13 08:40:51

标签: php html

我对应该如何在HTML属性中编写PHP变量感到困惑。 对于HTML表单,我们将其写为

<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">

在这里,我们在操作属性内回显PHP变量$ _SERVER ['PHP_SELF']。

但是在我的情况下,当我尝试获取img元素src属性中的服务器名称时,出现以下错误

<img src="<?php echo $_SERVER['SERVER_NAME'] ?>/test/image/1.jpg">
  

无法加载资源:服务器响应状态为404   (未找到)

仅当我回显$ _SERVER ['SERVER_NAME']时,才会出现此错误。当我删除回声并将其写为

<img src="<?php $_SERVER['SERVER_NAME'] ?>/test/image/1.jpg">

然后服务器找到图像。

所以我的问题是,为什么在第一种情况下回声很好,而在后一种情况下回声不好?

2 个答案:

答案 0 :(得分:2)

如果将服务器名称放在URL中,则需要在服务器名称前加上//。否则,服务器名称将被视为目录,而不是主机名。

<img src="//<?php echo $_SERVER['SERVER_NAME'] ?>/test/image/1.jpg">

但是首先不需要在其中放置服务器名称。默认情况下,会在包含该页面的页面的同一服务器上查找URL。因此,您可以编写:

<img src="/test/image/1.jpg">

答案 1 :(得分:-2)

<img src="<?php echo $_SERVER['SERVER_NAME']; ?>/test/image/1.jpg">

可能错过了->;