PHP,使用Header()显示图像

我从网络根目录外部显示图像,如下所示:

header('Content-type:image/png');

readfile($fullpath);

内容类型:image / png使我感到困惑。

有人用此代码帮助了我,但我注意到并非所有图像都是PNG。许多是jpg或gif。

仍然可以成功显示它们。

有人知道为什么吗?

回答:

最好的解决方案是读取文件,然后确定它是哪种图像并发送适当的标头

$filename = basename($file);

$file_extension = strtolower(substr(strrchr($filename,"."),1));

switch( $file_extension ) {

case "gif": $ctype="image/gif"; break;

case "png": $ctype="image/png"; break;

case "jpeg":

case "jpg": $ctype="image/jpeg"; break;

case "svg": $ctype="image/svg+xml"; break;

default:

}

header('Content-type: ' . $ctype);

(注意:JPG文件的正确内容类型是image/jpeg

以上是 PHP,使用Header()显示图像 的全部内容, 来源链接: utcz.com/qa/424696.html

回到顶部