Codeigniter多图像上传与文件夹创建

时间:2011-12-02 11:39:46

标签: codeigniter image-upload

首先请温柔我是一个非常大的乞丐。

好的,我正在建立一个房地产网站,我真的不知道,我尝试了几件事,但我不能让它工作。

我的问题是当我向网站添加新的房地产时,系统会生成一个独特的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 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

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; }

}

希望有所帮助