header('Content-Description: File Transfer');
header('Content-Type: ' . image_type_to_mime_type(exif_imagetype($file)));
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
$oku = readfile($file);
Content-type application/octet-stream olduğu için mobil cihazlar dosyanın resim olduğunu anlayamıyor olabilir.

Yukarıda verdiğim gibi sorun çözülebilir.