不支持WebP时将扩展名更改为.jpg

时间:2022-01-30 作者:awakening

我试图在不支持webp的浏览器中显示jpg,但不使用插件,

上载图像时,我同时以webp和jpg的形式上载。

İadd webp默认情况下,我需要将扩展名更改为。当从不支持webp的浏览器中输入jpg时,我找到了一个关于它的php代码,但我的尝试没有成功。

<?php
if (strpos( $_SERVER[\'HTTP_ACCEPT\'], \'image/webp\' ) !== false) {
  //do nothing when webp is supported
} else {
  //.webp replace .jpg
}
?>

1 个回复
SO网友:Reza

我认为过滤掉支持webp的浏览器的最好方法是在客户端宽度上进行过滤 html element or Javascript, 服务器端的php不支持。

如果您想通过php实现这一点,您需要了解:

$_SERVER[\'HTTP_USER_AGENT\']
将包含浏览器的用户代理字符串。请注意,几乎所有浏览器都声称是;Mozilla“;出于兼容性原因-您需要在该标题中查找每个浏览器的特定文本,例如;MSIE“;用于Internet Explorer。

Examples:

我的Firefox称自己为Mozilla/5.0(Windows;U;Windows NT 5.1;en-GB;rv:1.9.0.11)Gecko/2009060215 Firefox/3.0.11(NET CLR 4.0.20506)

我的IE7称自己为Mozilla/4.0(兼容;MSIE 7.0;Windows NT 5.1;GTB6;用户代理:Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.1;SV1;http://bsalsa.com) ; .NET CLR 1.1.4322。NET CLR 2.0.50727。NET CLR 3.0.04506.648。NET CLR 3.5.21022。NET CLR 3.0.4506.2152。NET CLR 3.5.30729。净CLR 4.0.20506)

或使用get_browser() php函数。

手册示例:

echo $_SERVER[\'HTTP_USER_AGENT\'] . "\\n\\n";
$browser = get_browser(null, true);
print_r($browser);
将返回:

Array
(
    [browser_name_regex] => ^mozilla/5\\.0 (windows; .; windows nt 5\\.1; .*rv:.*) gecko/.* firefox/0\\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*/
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [cssversion] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)

相关推荐

在WordPress表单上添加指向php字段文本的链接

我买了一个wordpress模板,但开发人员说他们不能帮我做我需要的。该主题集成了一个酒店预订系统,该表单为“放置”用户电子邮件提供了一个字段,但是该选项被禁用,只会显示一条文本,上面写着“需要登录”,但当我单击那里时,什么也没有发生。我想email字段至少应该把我带到一个页面(可能是用户注册),或者至少这是我希望发生的事情。我一直在查看该表单的PHP代码,但我真的不知道该怎么做,因为我不处理PHP,我不知道如何解决这个问题。我曾多次尝试通过添加a href=来解决这个问题,但什么都没有发生。有没有人可以