2017-08-30 3 views
0

J'ai fait une fonction dans CodeIgniter alors quand j'ajoute une image d'un produit, il télécharge la taille normale (product_foto) et la taille de la vignette (product_foto_thumb). Sur la page 'tous les produits' les images sont toutes de la taille de la vignette qui me plaît mais quand je clique sur un produit pour aller à la page de détail l'image est toujours aussi petite et c'est toujours la même taille que la vignette pendant que je suis chargement de l'image normale sur cette page de vue.codeigniter chargement de la mauvaise taille d'image

C'est ma fonction de téléchargement dans mon fichier contrôleur:

public function upload(){ 

    $this->load->library('upload'); 
    $this->load->library('image_lib'); 

      $config['upload_path'] = './upload/'; 
      $config['allowed_types'] = 'gif|jpg|png|bmp|jpeg'; 
      $config['max_size'] = '0'; 
      $config['max_width'] = '0'; 
      $config['max_height'] = '0'; 
      $config['encrypt_name']= true; 
      $this->upload->initialize($config); 


    if(!$this->upload->do_upload('userfile')){ 
     $error = array('error'=>$this->upload->display_errors()); 
     $this->load->view('product_form', $error); 
    }else{ 
     //Main image 
     $data = $this->upload->data(); 
     $config['image_library'] = 'gd2'; 
     $config['source_image'] = './upload/'.$data["raw_name"].$data['file_ext']; 
     $config['new_image'] = './upload/'.$data["raw_name"].$data['file_ext']; 
     $config['create_thumb'] = FALSE; 
     $config['maintain_ratio'] = FALSE; 
     $config['width'] = 640; 
     $config['height'] = 380; 

     //Thumb image 
     $dataThumb = $this->upload->data(); 
     $configThumb['image_library'] = 'gd2'; 
     $configThumb['source_image'] = './upload/'.$dataThumb["raw_name"].$dataThumb['file_ext']; 
     $configThumb['new_image'] = './upload/'.$dataThumb["raw_name"].$dataThumb['file_ext']; 
     $configThumb['create_thumb'] = TRUE; 
     $configThumb['maintain_ratio'] = TRUE; 
     $configThumb['width'] = 168; 
     $configThumb['height'] = 150; 

     $this->image_lib->initialize($config); 
     $this->image_lib->initialize($configThumb); 

     $this->image_lib->resize(); 


     $this-> db-> insert('products', array(
      'product_foto' => $data["raw_name"].$data['file_ext'], 
      'product_foto_thumb' => $dataThumb["raw_name"].$dataThumb['file_ext'], 

      'product_naam' => $this->input->post('product_naam'), 
      'product_beschrijving' => $this->input->post('product_beschrijving'), 
      'product_categorie' => $this-> input->post('product_categorie'), 
      'ophaal_plaats' => $this->input->post('ophaal_plaats'), 
      'date_created' => date('Y-m-d'), 
      'date_updated' => date('Y-m-d') 
     )); 
     $data['img'] = base_url(). 
     '/upload/'.$data["raw_name"].$data['file_ext']; 
     $dataThumb['img'] = base_url(). 
     '/upload/'.$dataThumb["raw_name"].$dataThumb['file_ext']; 

     header('location:https://www.example.com/Product/'); 
} 

Mon fichier de vue où je suis le chargement de la grande image de taille:

<div class="container"> 
<div class="row"> 
<div class="col-md-4"> 
<img src="<?php echo base_ur().'upload/'$product['product_foto'] ?>"> 

</div> 
</div> 

</div> 

Mon fichier de vignettes:

<?php foreach($products as $product) : ?> 
<div class="col-lg-2"> 
<div id="product"> 
<a href="<?php echo base_url() ?>/Products/details/<?php echo $product['product_id']; ?>"> 
<?php echo '<img src="upload/'.$product['product_naam']; ?> </div> 
</div> 

<?php endforeach; ?> 
+0

Afficher nous le code de vue du pouce ainsi. –

+0

Ok je l'ai édité man. Vous pouvez voir la vignette maintenant dans ma question – lablanco

+0

Pouvez-vous vérifier? J'ai édité ma question – lablanco

Répondre

0

Voir le code ci-dessous. Je pense que cela va résoudre votre problème à coup sûr.

public function upload() { 
     $this->load->library('upload'); 
     $this->load->library('image_lib'); 

     $config['upload_path'] = './upload/'; 
     $config['allowed_types'] = 'gif|jpg|png|bmp|jpeg'; 
     $config['max_size'] = '0'; 
     $config['max_width'] = '0'; 
     $config['max_height'] = '0'; 
     $config['encrypt_name']= true; 
     $this->upload->initialize($config); 


     if(!$this->upload->do_upload('userfile')){ 
      $error = array('error'=>$this->upload->display_errors()); 
      $this->load->view('product_form', $error); 
     }else{ 
      //Main image 
      $data = $this->upload->data(); 
      $config['image_library'] = 'gd2'; 
      $config['source_image'] = './upload/'.$data["raw_name"].$data['file_ext']; 
      $config['new_image'] = './upload/'.'new_'.$data["raw_name"].$data['file_ext']; 
      $config['create_thumb'] = FALSE; 
      $config['maintain_ratio'] = FALSE; 
      $config['width'] = 640; 
      $config['height'] = 380; 

      //Thumb image 
      $dataThumb = $this->upload->data(); 
      $configThumb['image_library'] = 'gd2'; 
      $configThumb['source_image'] = './upload/'.$dataThumb["raw_name"].$dataThumb['file_ext']; 
      $configThumb['new_image'] = './upload/'.'thumb_'.$dataThumb["raw_name"].$dataThumb['file_ext']; 
      $configThumb['create_thumb'] = TRUE; 
      $configThumb['maintain_ratio'] = TRUE; 
      $configThumb['width'] = 168; 
      $configThumb['height'] = 150; 

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

      $this->image_lib->initialize($configThumb); 
      $this->image_lib->resize(); 

      $this-> db-> insert('products', array(
       'product_foto' => 'new_'.$data["raw_name"].$data['file_ext'], 
       'product_foto_thumb' => 'thumb_'.$dataThumb["raw_name"].$dataThumb['file_ext'], 

       'product_naam' => $this->input->post('product_naam'), 
       'product_beschrijving' => $this->input->post('product_beschrijving'), 
       'product_categorie' => $this-> input->post('product_categorie'), 
       'ophaal_plaats' => $this->input->post('ophaal_plaats'), 
       'date_created' => date('Y-m-d'), 
       'date_updated' => date('Y-m-d') 
      )); 
      $data['img'] = base_url(). 
      '/upload/new_'.$data["raw_name"].$data['file_ext']; 
      $dataThumb['img'] = base_url(). 
      '/upload/thumb_'.$dataThumb["raw_name"].$dataThumb['file_ext']; 

      header('location:https://kadokado-ferran10.c9users.io/Product/'); 
     } 
    } 
} 

Votre code pouce exemple

<?php foreach($products as $product) : ?> 
<div class="col-lg-2"> 
    <div id="product"> 
     <img src="<?php echo base_url(); ?>upload/<?php echo $product['product_foto_thumb']; ?>"> 
    </div> 
</div> 
<?php endforeach; ?> 

Votre principal exemple d'image

<?php foreach($products as $product) : ?> 
<div class="col-lg-2"> 
    <div id="product"> 
     <img src="<?php echo base_url(); ?>upload/<?php echo $product['product_foto']; ?>"> 
    </div> 
</div> 
<?php endforeach; ?> 
+0

Est-ce que cette réponse a résolu votre problème? –

+0

Bonjour, j'ai ajouté les choses que vous avez changé et c'est toujours la même chose :( – lablanco

+0

Veuillez effacer votre répertoire de téléchargement, puis télécharger une photo, puis voir combien de fichiers sont là et quels sont leurs noms –