Welcome Guest, Not a member yet? Register   Sign In
Problem with Uploading two images, re-sizing them, and saving them to the database
#5

[eluser]RMinor[/eluser]
I made some minor changes, but still only get values in the $db_info array for photo_one and thumb_one. Anyone have any ideas why? My controller is below.

Code:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Model extends CI_Controller {

protected $_page = 'model';

public function __construct()
{
  parent::__construct();
}

public function index()
{
  $this->load->model('Model_model');
  $data['page'] = $this->Global_model->pageInformation($this->_page);
  $data['testimonials'] = $this->Model_model->getTestimonials();
  $data['success'] = FALSE;
  $this->load->helper('form');
  $this->load->library('form_validation');
  $this->form_validation->set_error_delimiters('<div class="error">', '</div>');
  if ($this->input->post('submit')) {
   $this->form_validation->set_rules('name', 'Name', 'trim|required');
   $this->form_validation->set_rules('stage_name', 'Stage Name', 'trim');
   $this->form_validation->set_rules('email', 'Email Address', 'trim|required|valid_email');
   $this->form_validation->set_rules('birth_month', 'Birth Month', 'trim|required|integer|exact_length[2]');
   $this->form_validation->set_rules('birth_day', 'Birth Day', 'trim|required|integer|exact_length[2]');
   $this->form_validation->set_rules('birth_year', 'Birth Year', 'trim|required|integer|exact_length[4]');
   $this->form_validation->set_rules('age_check', 'Age Check', 'trim|required');
   $this->form_validation->set_rules('ip', 'IP Adress', 'trim|required|valid_ip');
   if($this->form_validation->run() == FALSE) {} else {
    if ($this->upload()) {
     $email = $this->input->post('email');
     $body = "<p></p>"
     $this->load->library('email');
     $this->email->from('', '');
     $this->email->to($email);
     $this->email->cc('');
     $this->email->subject('');
     $this->email->message($body);
     if ($this->email->send()) {
      $data['success'] = TRUE;
     }
    }
   }
  }
  $this->load->view('model_view', $data);
}

/**
  * Mehtod to upload two images, create thumbnails of them, and insert all four filenames into the database.
  * If we want to resize the original to a "resized" version we would need to unlink() the original.
  */
public function upload()
{
  // Load necessary model and libraries.
  $this->load->model('Model_model');
  $this->load->library('upload');
  $this->load->library('image_lib');
  
  // Set configuration array for uploaded photo.
  $config['upload_path'] = 'models/';
  $config['allowed_types'] = 'gif|jpg|jpeg|png';
  $config['max_size'] = '2048';
  
  // Set configuration array for thumbnail.
  $config_thumb['image_library'] = 'GD2';
  $config_thumb['create_thumb'] = TRUE;
  $config_thumb['maintain_ratio'] = TRUE;
  $config_thumb['width'] = 150;
  $config_thumb['height'] = 150;
  
  // Upload first photo and create a thumbnail of it.
  if (!empty($_FILES['photo_one']['name'])) {
   $this->upload->initialize($config);
   if ($this->upload->do_upload('photo_one')) {
    $photo_info = $this->upload->data();
    $config_thumb['source_image'] = $photo_info['full_path'];
    $db_info['photo_one'] = $photo_info['file_name'];
    $this->image_lib->initialize($config_thumb);
    $this->image_lib->resize();
    $db_info['thumb_one'] = $photo_info['raw_name'] . '_thumb' . $photo_info['file_ext'];
   } else {
    $data['upload_error'][] = $this->upload->display_errors();
   }
  }
  // Upload second photo and create a thumbnail of it.
  if (!empty($_FILES['photo_two']['name'])) {
   $this->upload->initialize($config);
            if ($this->upload->do_upload('photo_two')) {
    $photo_info = $this->upload->data();
    $config_thumb['source_image'] = $photo_info['full_path'];
    $db_info['photo_two'] = $photo_info['file_name'];
    $this->image_lib->initialize($config_thumb);
    $this->image_lib->resize();
    $db_info['thumb_two'] = $photo_info['raw_name'] . '_thumb' . $photo_info['file_ext'];
   } else {
    $data['upload_error'][] = $this->upload->display_errors();
   }
  }
  print_r($db_info);
  // $this->Model_model->submit($db_info);
}

}


Messages In This Thread
Problem with Uploading two images, re-sizing them, and saving them to the database - by El Forum - 02-09-2012, 08:03 AM



Theme © iAndrew 2016 - Forum software by © MyBB