检测png图片是否完整的php代码

yipeiwu_com5年前PHP代码库

复制代码 代码如下:

<?php
$filename = './D243375_0.png';
$filename = realpath($filename);
if (!file_exists($filename)) {
die("图片不存在~!");
}
$size = getimagesize ($filename);
$file_extension = strtolower(substr(strrchr($filename,"."),1));
if("image/png" != $size['mime'] || $file_extension != "png"){
die("这不是一张完整的png图片");
}
$img = @imagecreatefrompng ($filename);
if($img){
ob_start("output_handler");
imagepng($img);
ob_end_flush();
}else{
die("不能正确的创建png图形,请检查png图形是否完好~");
}
function output_handler($img) {
header('Content-type: image/png');
header('Content-Length:'.strlen($img));
return $img;
}
?>

相关文章

php通过function_exists检测函数是否存在的方法

本文实例讲述了php通过function_exists检测函数是否存在的方法。分享给大家供大家参考。具体分析如下: php中可以通过function_exists()函数检测另外一个函数...

PHP 开发者该知道的 5 个 Composer 小技巧

Composer 是新一代的PHP依赖管理工具。其介绍和基本用法可以看这篇《Composer PHP依赖管理的新时代》。本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带...

php 过滤危险html代码

#用户发布的html,过滤危险代码 复制代码 代码如下:function uh($str) { $farr = array( "/\s+/", //过滤多余的空白 "/<(\/?)...

php使用for语句输出三角形的方法

本文实例讲述了php使用for语句输出三角形的方法。分享给大家供大家参考。具体实现方法如下: <?php //phpinfo(); function Dis($n...

基于flush()不能按顺序输出时的解决办法

如果是在linux下, 首先确认是否添加 ob_start() 和 ob_flush().复制代码 代码如下:ob_start();for ($i=1; $i<=10; $i++)...