编程语言
首页 > 编程语言> > 手动检查php中文件标记ffd9(?)的jpeg结尾以捕获截断错误

手动检查php中文件标记ffd9(?)的jpeg结尾以捕获截断错误

作者:互联网

基本上是试图从集合中删除损坏的,过早结束的jpeg文件.我认为如果文件尾标记不存在,则意味着图像被截断,因此出于我的目的,我认为该图像无效.
这是检查声音的方法吗?如果是这样的话,关于如何在php中实现它的任何想法?

干杯

解决方法:

尝试这个:

$jpgdata = file_get_contents('image.jpg');

if (substr($jpgdata,-2)!="\xFF\xD9") {
  echo 'Bad file';
}

这会将整个JPG文件加载到内存中,并且可能导致大文件出错.

选择:

$jpgdata = fopen('image.jpg', 'r'); // 'r' is for reading
fseek($jpgdata, -2, SEEK_END); // move to EOF -2
$eofdata = fread($jpgdata, 2);
fclose($jpgdata);

if ($eofdata!="\xFF\xD9") echo 'Bad file';

标签:jpeg,corrupt,php
来源: https://codeday.me/bug/20191107/2002822.html