Php 使用CodeIgniter中的gd2将图像旋转90个大小时

Php 使用CodeIgniter中的gd2将图像旋转90个大小时,php,codeigniter,image-resizing,Php,Codeigniter,Image Resizing,我曾使用gd2库调整图像大小。但一些图像在调整大小后旋转了90度,而不是所有图像。我没有使用任何旋转。这背后的原因可能是什么?我需要设置其他配置吗 我的代码在这里: if(isset($_FILES) && !empty($_FILES)){ $item_images = $_FILES; $this->load->library('upload'); $this->load->library('image_lib');

我曾使用gd2库调整图像大小。但一些图像在调整大小后旋转了90度,而不是所有图像。我没有使用任何旋转。这背后的原因可能是什么?我需要设置其他配置吗

我的代码在这里:

if(isset($_FILES) && !empty($_FILES)){

    $item_images = $_FILES;
    $this->load->library('upload');
    $this->load->library('image_lib'); 
    $config['upload_path']   = './temp/';
    $config['allowed_types'] = '*';
    $this->upload->initialize($config);

    //print_r($item_images);
    foreach($item_images as $ind=>$img_name){
        if($this->upload->do_upload($ind)){

            $data_image                     = $this->upload->data();


            //for cropping
            $config_crop['image_library'] = 'gd2';
            $config_crop['source_image']     = $config['upload_path'] . $data_image['file_name'];
            $config_crop['create_thumb']     = FALSE;
            $config_crop['maintain_ratio']   = TRUE;
            $config_crop['width']       = 300;
            $config_crop['height']      = 300;
            //$config_crop['rotation_angle'] = '0';
            //$config_crop['x_axis'] = '100';
            //$config_crop['y_axis'] = '40';

            $this->image_lib->initialize($config_crop);


            if ( ! $this->image_lib->resize())
            {
                echo $this->image_lib->display_errors(); 
            }

        }
        $image_thumb = $this->s3_model->upload_image('thumb_'.$img_name['name'] ,$config['upload_path'] . $data_image['file_name']);
        if($image_thumb){
            $result = $this->s3_model->upload_image($img_name['name'] ,$img_name['tmp_name']);
            //unlink($config['upload_path'] . $data_image['file_name']);
        }


        if(! $result){
            $flag = false; //Error in uploading image.
            break;
        }
    }


} 

你们有OSx工作机吗

在我的例子中,一张在我的Mac电脑中正确显示的照片,确实被转到了侧面,这是因为OSX预览在拍摄照片时检测到手机的方位

服务器没有,windows计算机也没有。。。所以我快疯了

不管您的情况是否如此,都可以使用exif\u read\u data()函数。这将为您提供方向数据,如果它存在于照片的元数据中

请点击此处: