目前,我在我的主服务器上引用图像,样式表等:
http://localhost/igniter/assets/images/
但是,这需要在我的php.ini文件中将allow_url_include
设置为On
。我读到,allow_url_include
应尽可能设置为Off
。
wwwroot/igniter/assets/images/
基本上,我如何引用我的托管帐户的根?
allow_url_include
是关于能够将url作为文件名传递给include
, require
和它们的兄弟。它与从HTML中引用内容无关。为了说明这一点,下面这段代码将根据以下设置表现不同:
<?php
include 'http://www.example.org/constants.php';
echo SOME_CONSTANT_DEFINED_IN_CONSTANTS_PHP;
如果你允许URL包含,它会发出一个HTTP请求到www.example.org,下载constants.php的输出,并将其作为PHP源代码包含;如果您不允许URL包含,它将无法包含任何内容(并根据您的error_reporting
设置做出反应)。
在客户机上引用样式表、图像等(即从您输出的HTML),如以下示例:
<?php
do_some_stuff();
?>
<img src="http://www.example.org/images/img000.jpg" />
可以正常工作。
请注意,脚本受现代浏览器中实现的同源策略的约束,但这完全是另一回事。