J'ai passé des jours à essayer de faire ce travail sur la base des exemples dans la documentation, mais je manque quelque chose ou je suis tout simplement stupide!CodeIgniter Upload et Redimensionner Problème
J'ai une application CMS où les utilisateurs téléchargent une image pour l'affichage dans une mise en page très fixe. Nous ne voulons pas limiter la taille du fichier de l'image téléchargée mais plutôt la "traiter" après son arrivée.
L'image doit être 615px de large, mais quelques-unes des images téléchargées directement à partir des appareils photo numériques sont 2500X2000 et plus cela est si important.
Je Rassemblé le code du manuel et l'image est en cours de téléchargement avec succès à un dossier dans l'application CMS. Toutefois, l'image n'est pas en cours de redimensionnement. Si jamais je l'obtiens à redimensionner, mon plan est de présenter l'image à l'utilisateur pour recadrer en utilisant jCrop (l'image finale doit être 615X275 et il doit probablement être recadrée pour la taille après le redimensionnement), puis Utilisez codeigniter pour FTP l'image vers le dossier des commodités de leur site en utilisant le nom d'origine.
J'apprécie toute aide à ce sujet!
Voici mon code:
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
essayez de supprimer base_url() dans la fonction de redimensionnement.Si j'ai des chemins corrects (image_source et nouvelle_image) doivent être relative pas absolue. – trix
TRAVAILLÉ COMME UN CHARME! !!! MERCI !!! – jgravois