Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我有一个工作多上传(文件和图像)CODEIGNITER_Codeigniter - Fatal编程技术网

我有一个工作多上传(文件和图像)CODEIGNITER

我有一个工作多上传(文件和图像)CODEIGNITER,codeigniter,Codeigniter,我在codeigniter中进行了多次上传,但我遇到了一个问题,那就是如何在两个表(documents and images table)上插入这些文件的文件名,这两个表有两个相同的列名(ID,name)。有没有办法,我可以分离或比较我的上传图像和文件的代码。因为我把它们统一在一个函数中 这是我的密码。它正在工作 看法 图像 文件 控制器 function index() { if (isset($_POST['submit'])) { $this->l

我在codeigniter中进行了多次上传,但我遇到了一个问题,那就是如何在两个表(documents and images table)上插入这些文件的文件名,这两个表有两个相同的列名(ID,name)。有没有办法,我可以分离或比较我的上传图像和文件的代码。因为我把它们统一在一个函数中

这是我的密码。它正在工作

看法


图像
文件
控制器

function index()
{
    if (isset($_POST['submit']))
    {
        $this->load->library('upload');
        //$this->uploadfile($_FILES['userfile']);
        $files = $_FILES;
        $cpt = count($_FILES['userfile']['name']);
        for($i=0; $i<$cpt; $i++)
        {   

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


                $this->upload->initialize($this->set_upload_options());
                $this->upload->do_upload();
                $this->upload->data();
        }
    }
$this->load->view("test");
}
private function set_upload_options()
{   
//  upload an image and document options
    $config = array();
    $config['upload_path'] = './upload_documents/';
    $config['allowed_types'] = 'jpg|png|gif|jpeg|JPG|PNG|GIF|JPEG|pdf|doc|docx|xls|xlsx';
    $config['max_size'] = '0'; // 0 = no file size limit
    $config['max_width']  = '0';
    $config['max_height']  = '0';
    $config['overwrite'] = TRUE;


    return $config;
}
function index()
{
    if (isset($_POST['submit']))
    {
        $this->load->library('upload');
        //$this->uploadfile($_FILES['userfile']);
        $files = $_FILES;
        $cpt = count($_FILES['userfile']['name']);
        for($i=0; $i<$cpt; $i++)
        {   

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


                $this->upload->initialize($this->set_upload_options());
                $this->upload->do_upload();
                $this->upload->data();
                $ext = pathinfo($filename, PATHINFO_EXTENSION);
                $img_ext_chk = array('jpg','png','gif','jpeg','JPG','PNG', 'GIF', 'JPEG');
                if (in_array($ext,$img_ext_chk))
                {
                    $this->asset->add_image($filename);                            
                }
                else
                {
                    $this->asset->add_document($filename);
                }
        }
    }
}
函数索引()
{
如果(isset($_POST['submit']))
{
$this->load->library('upload');
//$this->uploadfile($_FILES['userfile']);
$files=$\u文件;
$cpt=计数($_文件['userfile']['name']);
对于($i=0;$iupload->initialize($this->set_upload_options());
$this->upload->do_upload();
$this->upload->data();
}
}
$this->load->view(“测试”);
}
私有函数集\上传\选项()
{   
//上载图像和文档选项
$config=array();
$config['upload_path']='。/upload_documents/';
$config['allowed_types']=“jpg | png | gif | jpg | png | gif | jpg | jpeg | pdf | doc | docx | xls | xlsx”;
$config['max_size']=“0”;//0=无文件大小限制
$config['max_width']='0';
$config['max_height']='0';
$config['overwrite']=TRUE;
返回$config;
}
这些代码正在工作,它能够传输我所需路径上的所有文件。 但我想知道在制作模型时,我如何识别文件类型,正如您在上面看到的代码一样,我在变量“$filename”上传递了文件名。如果使用print_r($filename),您将看到所有文件名及其文件扩展名。这些名称是我将根据其文件类型插入到两个表中的名称

是否有CodeIgniter或PHP代码的代码,我将使用它们来识别文件类型并将其传递给具有两个功能(如upload_image或upload_docu)的模型?请提供帮助。

就是这样

控制器

function index()
{
    if (isset($_POST['submit']))
    {
        $this->load->library('upload');
        //$this->uploadfile($_FILES['userfile']);
        $files = $_FILES;
        $cpt = count($_FILES['userfile']['name']);
        for($i=0; $i<$cpt; $i++)
        {   

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


                $this->upload->initialize($this->set_upload_options());
                $this->upload->do_upload();
                $this->upload->data();
        }
    }
$this->load->view("test");
}
private function set_upload_options()
{   
//  upload an image and document options
    $config = array();
    $config['upload_path'] = './upload_documents/';
    $config['allowed_types'] = 'jpg|png|gif|jpeg|JPG|PNG|GIF|JPEG|pdf|doc|docx|xls|xlsx';
    $config['max_size'] = '0'; // 0 = no file size limit
    $config['max_width']  = '0';
    $config['max_height']  = '0';
    $config['overwrite'] = TRUE;


    return $config;
}
function index()
{
    if (isset($_POST['submit']))
    {
        $this->load->library('upload');
        //$this->uploadfile($_FILES['userfile']);
        $files = $_FILES;
        $cpt = count($_FILES['userfile']['name']);
        for($i=0; $i<$cpt; $i++)
        {   

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


                $this->upload->initialize($this->set_upload_options());
                $this->upload->do_upload();
                $this->upload->data();
                $ext = pathinfo($filename, PATHINFO_EXTENSION);
                $img_ext_chk = array('jpg','png','gif','jpeg','JPG','PNG', 'GIF', 'JPEG');
                if (in_array($ext,$img_ext_chk))
                {
                    $this->asset->add_image($filename);                            
                }
                else
                {
                    $this->asset->add_document($filename);
                }
        }
    }
}

我已经知道答案了。:)你可以发布答案,以便将来有人可以使用它。好的,当然:)我会发布它。我希望我能投赞成票:)我的帖子编辑完了。它已经有了answer@user2789695将答案作为答案发布,保留原始问题