有没有办法让PHP检测到损坏的图像?

Pio*_*otr 5 php corrupt image detect

有没有办法让PHP确定图像文件是否已损坏且无法正常显示?

我试过检查fopen并检查URL是否有效,但它没有奏效!

Ber*_*rak 19

有没有办法让PHP确定图像文件是否被破坏

如果被破坏则表示已损坏,则更改是imagecreatefrom {extension}将无法读取它们:

if( imagecreatefromjpeg( $yourfile ) !== false ) {
    // image is okay.
}
Run Code Online (Sandbox Code Playgroud)


bin*_*yLV 2

Javascript 解决方案(涉及 jQuery,尽管没有它也应该可以做到):

<script type='text/javascript'>
    $(function(){
        var files = [
            'warning-large.png',
            'warning-large-corrupted.png',
            'http://www.example.com/none.gif',
            'http://sstatic.net/stackoverflow/img/favicon.ico'
        ];
        for ( var n in files ) {
            var img = $('<img/>');
            img.error(function(){
                alert('error:\n' + this.src);
            });
            img.load(function(){
                alert('success:\n' + this.src);
            });
            img.attr('src', files[n]);
        }
    });
</script>
Run Code Online (Sandbox Code Playgroud)