我有以下代码确定图像是否为SVG,以便它显示源(如果SVG可以使用CSS着色):
if (strpos('url_to_an_image', '.svg') !== false) {
echo file_get_contents('url_to_an_image');
} else {
echo '<img src="url_to_an_image" />';
}
这很好,直到我在htaccess中添加了IP限制,当我收到以下错误时:
file_get_contents(http://example.com/images/icons/icon-email.svg):无法打开流:HTTP请求失败! HTTP / 1.1 403禁止
我已经尝试过建议欺骗真实浏览器请求的解决方案;他们不工作。
是否有另一种解决方案,或者我可以用来显示SVG的另一种方法?
答案 0 :(得分:1)
我有同样的问题,终于发现发生了什么。我的VPS提供商对所有&#34;拒绝了所有&#34;在放入一个巨大的&#34;允许来自&#34;之后的.htaccess中。 IP地址。
他们之所以这样,是因为该网站发生了一次枪击事件。
答案 1 :(得分:0)
您收到403错误,因为php似乎没有权限打开此文件。您阻止IP的确切代码是什么? 不要在自己的服务器上使用URL,只需使用绝对路径。