我对应该如何在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">
然后服务器找到图像。
所以我的问题是,为什么在第一种情况下回声很好,而在后一种情况下回声不好?
答案 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">
可能错过了->;