我有一个间歇性的图片上传问题,我似乎无法找到答案。我正在使用Codeigniter,但这可能只是一个与PHP相关的问题。
我正在进行简单的单张图片上传。在所有情况下,文件上传都很好。然后我尝试访问上传数据以确定高度和宽度。大多数上传数据已填充,但高度和宽度为空白。这只适用于某些图像,其他图像效果很好。
有人指出我正确的方向吗?有什么想法吗?这里有一些我没看到的东西。
以下是我收到的上传数据的示例:
[upload_data] => Array (
[file_name] => example.jpg
[file_type] => image/jpe
[file_path] => path/to/file/
[full_path] => path/to/file/example.jpg
[raw_name] => example
[orig_name] => example.jpg
[client_name] => myPic.jpg
[file_ext] => .jpg
[file_size] => 568.02
[is_image] => 1
[image_width] =>
[image_height] =>
[image_type] =>
[image_size_str] =>
)
答案 0 :(得分:0)
list($width, $height, $type, $attr) = getimagesize("path/for/the/file");
答案 1 :(得分:0)
通过大量的反复试验,我找到了问题的原因,但没有找到解决方案。但是,据我所知,原因与亚马逊的S3存储有关,而不是CodeIgniter或PHP。所以我正在考虑回答这个问题,因为它被标记为PHP / Codeigniter问题。
简而言之,这就是我找到的。 Codeigniter使用'getimagesize'就像你在PHP中一样。所以我开始在CI之外进行测试,只是在不同的JPEG上调用getimagesize。
访问服务器/实例本地存储的图像时,无论属性如何,一切正常。
当我访问亚马逊S3存储上的图像时,其“颜色表示”属性设置为“sRGB”的JPEGS会导致getimagesize返回false。那些没有财产的人工作得很好。
因此,在S3上存储图像会导致问题。但这是另一篇文章的主题。
感谢您对此人的意见。