проблемы с созданием большого пальца - PullRequest
0 голосов
/ 11 марта 2011

В настоящее время я использую codeigniter 2.0 для проекта, и у меня есть небольшая проблема с созданием большого пальца.Я намерен разрешить пользователям загружать изображение и переименовывать изображение в свою фамилию, а затем с помощью функции anoda из функции загрузки создать миниатюру, а затем отправить ее в другой каталог в каталоге изображений (я назвал его аватаром).Код делает это отлично, но теперь я намереваюсь зашифровать фамилию перед изменением имени загруженной картинки.Вот где возникает проблема. Выполняется загрузка, имя изменено, но миниатюра не создается ... Пожалуйста, кто-нибудь может сказать мне, в чем проблема, это пример кода

function set_avatar()
   { 
        /*check if user is even logged in */
        if($this->session->userdata('user_id'))
        {

    $last_name=$this->session->userdata('last_name');//this value is encrypted
        /*parse the useful user values to the data array for use on this page */

          $data['user_id']= $user_id;
          $data['email']= $email;
          $data['last_name']= $last_name;
          $data['first_name']= $first_name;


          /*assign an empty value to the error key of the data array to avoid error on the view page*/
          $data['error'] = "";

          /*the directory for uploading the file the number represents a mixture of birth date and month
          af means all files u1 upload 1 avts avatar ..jst a path to make the path undetectable*/

          $dir = "./path/avatar";

          /*preparing the config settings for upload */

          $config['file_name'] = $last_name; // the new file name the image should have
          $config['upload_path'] = $dir; // the directory the image should go to,already specified
          $config['allowed_types'] = 'gif|jpg|png'; // the file types that are allowed
          $config['max_size']    = '10000'; //the maximum image size
          $config['max_width']  = '300'; //the maximum image width
          $config['max_height']  = '230'; // the maximum image height

          $this->load->library('upload', $config); // retrieving the upload library with the specified settings

          /*using the do upload settings upload the file if it fails stop upload and show errors*/

          if ( ! $this->upload->do_upload())
          {
          $data['error'] = $this->upload->display_errors();

          $this->load->view("user/set_avatar",$data);
          }
          /*else retrieve the upload data from the file uploaded*/
          else
          {
          /*pass all the upload data to the $img_data array*/
          $img_data = $this->upload->data();

          /*the file(image) extension type png or gif or jpg*/
          $img_ext  = $img_data['file_ext'];

          /*thumb name without extension*/
          $thumb = $last_name;

          /*thumb name with extension*/
          $thumb_name = $thumb.$img_ext;

          /*create thumbnail using the thumb nail function*/
          $this->create_thumb($thumb_name);    

          /*record avatar details in the db*/
          $avatar_array = array(
                  "user_id" => $user_id,
                  "avatar" => $thumb,
                  "extension" => $img_ext

                                );
          $this->craft_set_user_details->set_avatar($avatar_array);

          /*start creat session for img_name and ext*/
          $image_session =  array(
                           "img_name"=>$thumb,
                           "img_ext"=>$img_ext
                                  );

          $this->session->set_userdata($image_session);

          /*redirect to home page*/
           redirect('home','location');
          }//end if else $this->upload->do_upload

        }//end check if user is logged in ($this->session->userdata('user_id'))

       else
       {
       redirect("index");
       }//end if eles user is logged in ($this->session->userdata('user_id'))




}//end function set avatar 

/* this is the create_thumb() function */ 

///start the create thumb  function this is used in the set avatar function to create the avatar thumb
  function create_thumb($thumb_name)
  {
    /*check if user is logged in*/
    if($this->session->userdata('user_id'))
      {

      //set the path to were the image is
        $dir = "./path/avatar";

      //set the path to were the thumb should be sent 
         $new = "./path/avatar/thumbs";

      //set the configuration to be used for image resizing
          $config['image_library'] = 'gd2';
          $config['source_image'] = $dir;
          $config['new_image'] = $new;
          $config['create_thumb'] = TRUE;
          $config['maintain_ratio'] = TRUE;
          $config['width'] = 35;
          $config['height'] = 50;

     //load the image library for image reszing
          $this->load->library('image_lib', $config);

      //resize image
          $this->image_lib->resize();


        }//end if eles user is logged in ($this->session->userdata('user_id'))

        //else redirect to the home page
        else
        {
        redirect('index','location');
        }
  }//end function to create 

1 Ответ

0 голосов
/ 29 апреля 2011

Ваше исходное изображение является каталогом.Это должен быть путь к файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...