1

これで修正されるかどうかはわかりませんが、それでも次のような問題があります。

問題: クライアントが iPhone を使用して写真を撮りました。向きが間違っていたので、彼は携帯電話に組み込まれているフォト エディターを使用して、正しい向きに反転させました。しかし、彼が自分の Mac から写真をアップロードすると、写真は実際には間違った向きに戻ります。

Mac では、修正された画像が正しい向きで表示されました。しかし、Windows PC に送信したり、Linux サーバーにアップロードしたりすると、画像は元の間違った向きに戻ります。

これは Mac の問題ですか、それとも別の問題ですか? または、PHP スクリプトで実行できる修正はありますか。以下は、写真をアップロードする php スクリプトです。

 $file=array();
    $listingid=$_POST['listing'];
    if(!empty($_FILES['file'])){
        foreach($_FILES['file']['name'] as $key=>$name){
            $extt=pathinfo($name, PATHINFO_EXTENSION);
            $name=$this->mediacontrol->generateUniqueKey(32);
            $name.=".".$extt;
            if($_FILES['file']['error'][$key]==0 && move_uploaded_file($_FILES['file']['tmp_name'][$key],"uploads/{$name}")){
                $file['file_name']=$name;
                $file['file_type']=$_FILES['file']['type'][$key];
                $file['file_path']="uploads/{$name}";
                $file['full_path']=  base_url()."uploads/{$name}";
                $ext=explode(".",$name);
                $file['thumb_path']=base_url()."uploads/thumbnails/250/".$ext[0]."_thumb.".$ext[1];
                $file['thumb_short']="uploads/thumbnails/250/".$ext[0]."_thumb.".$ext[1];
                $file['link_folder']="uploads/";
                $file['raw_name']="null";
                $file['orig_name']="$name";
                $file['client_name']="null";
                $file['file_size']=$_FILES['file']['size'][$key];
                $file['is_image']="1";
                $file['image_width']="0";
                $file['image_height']="0";
                $file['image_type']=$_FILES['file']['type'][$key];
                $file['image_size_str']="width:0px;height:0px;";

                $id=$this->mediacontrol->insertData($file);
                $file_id[]=$id;

                    $config['image_library'] = 'GD2';
                    $config['source_image'] = "".$file['file_path'];
                    $config['new_image']="uploads/thumbnails/250/";
                    $config['create_thumb'] = TRUE;
                    $config['maintain_ratio'] = TRUE;
                    $config['width']     = 250;
                    $config['height']   = 250;

                    $this->image_lib->initialize($config);
                    $this->image_lib->resize();
                    $this->image_lib->clear();

                            $this->listing_model->matchMedia($id,$listingid);  
                    $this->listing_model->updateStage(1,$id);
                    echo "Successfully uploaded ".$name."<br>";
            }
            else{
                echo "Something went terribly wrong when uploading".$name;
            }
        }
    }

お知らせ下さい。

ありがとうございました。

4

1 に答える 1