如何知道图像是否已完全转移?

时间:2012-11-18 21:42:30

标签: php

我通过FTP向我的网络服务器发送了很多(每秒几张)图像。问题是我向用户显示最后收到的图像,但有时最后一张图像没有完全传输。那么在将图像显示给用户之前,如何检查图像是否完全转移。

$directory = dir($path);
        while (false !== ($entry = $directory->read())) {

            $filepath = "{$path}/{$entry}";

            // could do also other checks than just checking whether the entry is a file
            $imageFormats = array(IMAGETYPE_JPEG);

            if (is_file($filepath) && filectime($filepath) > $latest_ctime)
            {
                if(in_array(exif_imagetype($filepath), $imageFormats) && $imageResource = imagecreatefromjpeg($filepath))
                {
                    $latest_filename = $entry;
                    $latest_ctime = filectime($filepath);
                }
            }
        }

1 个答案:

答案 0 :(得分:9)

简单的答案是在GD中强行打开它,看看你是否收到错误。

长(最好)的答案是上传CRC32校验和列表和文件,并在显示校验和之前检查校验和是否匹配。

如果您提供了代码,我已经提供了实现细节,但是......缺乏准确性,缺乏准确的答案。