此行能够获取图像
<img src="<?php echo'http://'.$_SERVER['HTTP_HOST'];?>paper/Mailer/examples/images/phpmailer.gif" alt="">
此行不能
<`img src="<?php echo $_SERVER['DOCUMENT_ROOT'].'paper/Mailer/examples/images/phpmailer.gif';?>" alt="">`
但带有http://的$ _SERVER ['HTTP_HOST']无法获取所需的文件
<?php require 'http://'.$_SERVER['HTTP_HOST'].'/paper/Mailer/class.phpmailer.php'; ?>
但这一行在这里工作正常
<?php require $_SERVER['DOCUMENT_ROOT']."/paper/Mailer/class.phpmailer.php"; ?>
有人可以澄清发生了什么
$_SERVER['HTTP_HOST'] and $_SERVER['DOCUMENT_ROOT']
如何正确使用它们$_SERVER['DOCUMENT_ROOT'], $_SERVER['HTTP_HOST']
。任何方式都不应该都能加载文件?一个人如何只为源和其他工作只需要或包含。我认为目录模式略有不同,都应该做同样的工作。那为什么不呢?
答案 0 :(得分:0)
最好的解决方法可能就是自己回复打印。 (var_dump($_SERVER);
)
稍作解释$_SERVER['DOCUMENT_ROOT']
将返回服务器路径,即/var/www/...
和$_SERVER['HTTP_HOST']
域名,即www.something.com
require()
将与$_SERVER['DOCUMENT_ROOT']
一起使用(只是您正在使用来自服务器的绝对路径)。
<img src="">
不会因为您需要从网络上调用它(因此您需要域名$_SERVER['HTTP_HOST']
)。