上传图片旋转问题
2017-05-02

手机上查看图片的时候,会出现图片倒过来的情况,对用户体验超级不好。所以我们需要根据图片的需要,对图片进行旋转的操作。以下代码,是个小demo,在使用的时候,要确定php环境是否开启exif扩展,以下代码需要依赖exif扩展。


    /**
     * @todo 图片旋转
     * @author yezi
     */
    function isExifImg($lacalFile,$targetFile)
    {
        $exif = (exif_read_data($lacalFile));//获取文件的exif信息
        $orientation = array(8=>90,3=>180,6=>-90);
        if(isset($exif['Orientation'])){
            if(in_array($exif['Orientation'],array_keys($orientation))){
                if($exif['Orientation']==6 || $exif['Orientation']==8){
                    $this->imgWidth  = 640;
                    $this->imgHeight = 480;
                }
                $image = imagecreatefromstring(file_get_contents($lacalFile));
                $temp  = imagerotate($image,$orientation[$exif['Orientation']],0);
                imagejpeg($temp,$targetFile);
                unlink($lacalFile);
            }else{
                $targetFile = $lacalFile;//不用翻转
            }
        }else{
            $targetFile = $lacalFile;//不用翻转
        }
        return $targetFile;
    }


分享: