Codeigniter мульти загрузки изображений с созданием папки - PullRequest
1 голос
/ 02 декабря 2011

сначала, пожалуйста, будь нежным, я действительно большой начинающий.

Хорошо, я делаю сайт по недвижимости, и я действительно понятия не имею, я попробовал несколько вещей, но не могу заставить его работать.

Моя проблема заключается в том, что когда я добавляю новое недвижимое имущество на сайт, система генерирует уникальную цифровую строку длиной 7 символов и вставляет ее в базу данных.

Поэтому, когда я загружаю изображение, мне бы хотелось, чтобы система создала папку с этой уникальной числовой строкой длиной 7 символов и поместила туда изображения.

вот мой контроллер

<?php

class ihirdet extends CI_Controller
    {
        function index()
            {
                $this->load->view("header");

                $this->form_validation->set_rules('cim', 'Cím', 'min_length[10]|max_length[100]');
                $this->form_validation->set_rules('htipus', 'Hirdetés típusa', 'required');
                $this->form_validation->set_rules('itipus', 'Ingatlan típusa', 'required');
                $this->form_validation->set_rules('iallapot', 'Ingatlan állapota', 'required');
                $this->form_validation->set_rules('jaras', 'Járás', 'required');
                $this->form_validation->set_rules('telepules', 'Telepules', 'required');
                $this->form_validation->set_rules('utca', 'Utca', 'required');
                $this->form_validation->set_rules('hazszam', 'Házszám', 'required|numeric');
                $this->form_validation->set_rules('emelet', 'Emelet', 'numeric');
                $this->form_validation->set_rules('telekterulet', 'Telekterület', 'numeric');
                $this->form_validation->set_rules('alapterulet', 'Alapterület', 'numeric');
                $this->form_validation->set_rules('ingatlanar', 'Ingatlan ára', 'required|numeric');
                $this->form_validation->set_rules('penznem', 'Pénznem', 'required');
                $this->form_validation->set_rules('epitesev', 'Építés éve', 'numeric');
                $this->form_validation->set_rules('szoba', 'Szoba', 'numeric');
                $this->form_validation->set_rules('felszoba', 'Félszoba', 'numeric');
                $this->form_validation->set_rules('futes', 'Fűtés', 'required');
                //$this->form_validation->set_rules('userfile', 'Kép', 'callback_kep_ellenor');
                $this->load->model('hirdetes_model');

                if($this->form_validation->run() !== FAlSE)
                {
                    $this->hirdetes_model->kuld();


                //  redirect(base_url() . 'elado/adatlap/' . $this->input->post('azonosito'));
                } else {
                    $this->load->model('hirdetes_model');
                    $data['felh_inf'] = $this->hirdetes_model->felh_info();
                    $this->load->view("ihirdet_sablon", $data);
                }
                    $this->load->view("footer");
            }

        }

?>

Я тестировал и смог загрузить только одно изображение и создать папку.

У меня вопрос: как я могу внедрить загрузку нескольких изображений в свою функцию индекса при создании папки.

И проверка, так что только создайте папку и загрузите изображения в нее, когда значение для ввода изображения имеет значение, но если пользователь неправильно заполнил форму, но изображение в порядке, все равно не создавайте папку и не загружайте изображение.

Пожалуйста, не поймите меня неправильно, я не хочу, чтобы кто-нибудь писал коды для меня, я просто хочу, чтобы более опытный разработчик поделился своими мыслями о том, как он это сделал, никаких кодов просто не поделился бы идеей, и я постараюсь воплотить ее в жизнь. сам по себе.

1 Ответ

1 голос
/ 02 декабря 2011

Вы можете попробовать что-то вроде этого:

function tester($yourUniqueId){

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

 for($i=0; $i<count($_FILES); $i++)
 {

   $_FILES['userfile']['name']    = $_FILES['filename']['name'][$i];
   $_FILES['userfile']['type']    = $_FILES['filename']['type'][$i];
   $_FILES['userfile']['tmp_name'] = $_FILES['filename']['tmp_name'][$i];
   $_FILES['userfile']['error']       = $_FILES['filename']['error'][$i];
   $_FILES['userfile']['size']    = $_FILES['filename']['size'][$i];

   $config['file_name']     = $yourUniqueId.'/test_'.$i;
   $config['upload_path']   = './public/uploads/';
   $config['allowed_types'] = 'jpg|jpeg|gif|png';
   $config['max_size']      = '0';
   $config['overwrite']     = FALSE;

  $this->upload->initialize($config);

  if($this->upload->do_upload())
  {
    $error += 0;
  }else{
    $error += 1;
  }
 }

 if($error > 0){ return FALSE; }else{ return TRUE; }

}

Надеюсь, это поможет

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