私はドキュメントの例に基づいてこの作業をしようとしましたが、何か不足しているか、まあまあです!CodeIgniterアップロードとサイズ変更の問題
私は非常に固定レイアウトで表示するためにユーザーが画像をアップロードするCMSアプリケーションを持っています。アップロードした画像のファイルサイズを制限するのではなく、画像が到着した後で「処理」することになります。
画像の幅は615pxである必要がありますが、デジタルカメラから直接アップロードされる画像の一部は2500X2000以上であるため、これは危険です。
マニュアルのコードをまとめて、CMSアプリ内のフォルダに画像が正常にアップロードされています。ただし、画像のサイズが変更されていません。
私がこれまでにサイズを変更したのであれば、jCropを使用してクロップするためのイメージをユーザーに提示する予定です(最終イメージは615X275になるはずで、サイズ変更後に高さを切り取る必要があります)オリジナルの名前を使用して、画像をサイトの施設のフォルダにFTPするにはcodeigniterを使用します。
この件についてお手伝いをいたします。ここで
は私のコードです:
function do_feature_upload() { $imageName = $this->uri->segment(3); //echo $imageName; // Where the file is going to be placed $config['upload_path'] = "./uploads/".$_SESSION['dbPropNumber']; $config['allowed_types'] = 'jpg|jpeg'; $config['max_size'] = '0'; $config['file_name'] = $imageName.'.jpg'; $config['overwrite'] = 'TRUE'; $this->load->library('upload', $config); if (! $this->upload->do_upload()) { $error = array('error' => $this->upload->display_errors()); $error['propertyDropdown'] = $_SESSION['propertyDropdown']; $error['username'] = $_SESSION['username']; $error['dbPropNumber'] = $_SESSION['dbPropNumber']; $error['propertyName'] = $this->content->getPropertyName($_SESSION['dbPropNumber']); $this->load->view('upload_AmenityImage', $error); } else { $image_data = $this->upload->data(); $origWidth = $image_data['image_width']; $origHeight = $image_data['image_height']; $newWidth = 615; $newHeight = $newWidth*$origHeight/$origWidth; $resize = array( 'image_library'=>'gd2', 'source_image'=>base_url().'uploads/'.$_SESSION['dbPropNumber'].'/'.$imageName.'.jpg', 'new_image'=>base_url().'uploads/'.$_SESSION['dbPropNumber'].'/'.$imageName.'1.jpg', 'create_thumb' => FALSE, 'maintain_ratio'=>FALSE, 'width'=>$newWidth, 'height'=>$newHeight ); $this->load->library('image_lib',$resize); $this->image_lib->resize(); $data = array('upload_data' => $this->upload->data()); $data['propertyDropdown'] = $_SESSION['propertyDropdown']; $data['username'] = $_SESSION['username']; $data['dbPropNumber'] = $_SESSION['dbPropNumber']; $data['propertyName'] = $this->content->getPropertyName($_SESSION['dbPropNumber']); //Present jCrop option after image is resized // FTP to final destination $this->load->view('upload_success', $data); } // end if } // end function
リサイズ機能でbase_url()を削除しようとしていますが、正しいパス(source_imageとnew_image)が相対的ではない絶対値である必要があります。 – trix
チャームのように働いています! !!!!ありがとう!!! – jgravois