我有一个有效的多重上传(文档和图像)CODEIGNITER

2024-02-03

我已经在 codeigniter 中进行了多次上传,但是我遇到了一个问题,如何将这些文件的文件名插入到两个表(文档和图像表)上,这两个表有两个相同的列名(ID,姓名)。有没有办法可以分离或分隔我的上传图像和文档的代码。因为我将它们统一在一个函数中。

这是我的代码。这是工作。

VIEW

<?php echo form_open_multipart('test'); ?>
   <label>Images</label>
      <input type='file' multiple='multiple' name='userfile[]'>
   <label>Documents</label>
      <input type='file' multiple='multiple' name='userfile[]'>
<?php echo form_submit('submit', 'Upload them files!') ?>

控制器

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

这些代码正在运行,它能够传输我想要的路径上的所有文件。 但我想知道制作模型时,我如何识别文件类型,正如您在上面看到的代码一样,我在变量“$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++)
        {   

                $_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);
                }
        }
    }
}

和你的模型

public function add_image($filename)
{
$data = array ('images' => $filename);
$this->db->insert('asset_images', $data);
}

public function add_document($filename)
{
$data = array ('documents' => $filename);
$this->db->insert('asset_documents', $data);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我有一个有效的多重上传(文档和图像)CODEIGNITER 的相关文章

  • 从数据库 MYSQL 和 Codeigniter 获取信息

    如果你们需要其他信息 上一个问题就在这里 从数据库中获取信息 https stackoverflow com questions 13336744 fetching information from the database 另一个更新 尽
  • CodeIgniter/PHP - 从视图内调用视图

    基本上 对于我的网络应用程序 我正在尝试更好地组织它 目前 每次我想加载页面时 我都必须从控制器中执行此操作 如下所示 this gt load gt view subviews template headerview this gt lo
  • 使用 CodeIgniter 加载视图文件夹外的视图

    我需要从以下范围之外加载视图 this gt load gt view 这似乎是从base application views目录 如何从外部访问视图 application 目录 我想我将不得不延长CI Loader class这是最好的
  • Codeigniter - CMS 的最佳路由配置?

    我想在 Codeigniter 中创建一个自定义 CMS 并且我需要一种将常规页面路由到默认控制器的机制 例如 mydomain com about mydomain com services maintenance 这些将通过我的页面处理
  • 加载视图 - codeigniter 错误

    我是 codeigniter 的新手 我正在做一个菜单 所以我将所有链接不放在同一个主文件中 以免一直重复 我的代码是 在main php中 main agregar gt Agregar span a href Modificar a s
  • 如何使用 Shopify API 将商品添加到购物车

    我正在使用 Shopify API 开发自定义网络应用程序 这里的想法是使用应用程序作为独家店面 只需向 Shopify API 发出请求 我已在我的 Shopify 帐户中设置了一个私人应用程序来执行此操作 我从 api 提取产品没有问题
  • 无法使用 PHP mail() 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件

    我尝试使用 codeigniter 框架发送邮件 但它会引发错误 无法使用 PHP mail 发送电子邮件 您的服务器可能未配置为使用此方法发送邮件 From prakash t lt email protected cdn cgi l e
  • CodeIgniter MultiDatabse 连接错误

    我在CodeIgniter中看到很多连接多数据库的方法 教程 离我还很遥远 有人提供我在 CI 中连接多个数据库 这是我在博客中找到的使用方式 抱歉 我不认识博客地址 active group default active record T
  • 按带宽限制成员资格

    我刚刚将 Codeigniter 应用程序部署到 Amazon EC2 使用 S3 作为媒体 使用 RDS 作为 MySQL 我需要根据使用的带宽量限制用户帐户访问 帐户将基于带宽 例如基本帐户 x 每月最多 20GB 等 但是我不知道最好
  • 如何完全刷新 CodeIgniter 中的页面?

    我正在叠加层中加载表单 覆盖层对于调用覆盖层的页面有一个单独的控制器和操作 在表单提交时 如果成功 我只想重新加载加载叠加层的引用页面 我可以加载引用页面 但它将内容放置在覆盖层内 header Location www example c
  • 我无法使用 Codeigniter 发送任何电子邮件

    我创建了一个控制器 并在控制器中做了一个测试函数来测试电子邮件是否发送 我检查了不同的电子邮件地址 但没有成功 这是我的代码示例 public function sendmail config protocol sendmail confi
  • 在移动 Chrome 上上传图片表单失败

    我正在构建一个移动网络应用程序 其中用户手机上的图片发挥着重要作用 我有这个表单 用户可以将手机拍摄的照片上传到应用程序的数据库中 我在用着CodeIgniter上传类 https ellislab com codeigniter user
  • 服务器端排序的数据在数据表中未按相同顺序显示

    我正在使用数据表来显示数据库中的数据 我正在使用 CodeIgniter 进行服务器端脚本编写 这是表格图像 在我的服务器端编码中 我查询数据库顺序Country并按降序排列 我已经检查了 CodeIgniter 选择查询以进行调试目的 即
  • 错误:无法检索请求的 URL

    我在 CodeIgniter 中有一个项目并托管在子域中 它有一个错误 所请求的网址无法检索 这是它的图片 Error https i stack imgur com ltBZB png 我在新安装 CodeIgniter 时遇到了同样的错
  • 如何将 2 个参数路由到控制器?

    这看起来很基本 但我无法掌握它 我试图向控制器中的方法发送多个参数 如下所示 http localhost ci index php subjects 3 state 这是我尝试过的路由 route subjects num subject
  • RewriteCond REQUEST_URI - ^ 未按预期工作

    我正在 codeigniter 中构建一个网站 我在 htaccess 文件中有一系列重写条件和规则 第一组规则根据 uri 的第一段打开或关闭 SSL 然后它再次循环 如果找到匹配项 则适当地重定向页面 如果没有匹配项 并且 uri 不以
  • Codeigniter:重置表单值

    在我看来 我想要做的是在用户成功注册后清除表单字段 这里一切正常 即用户正在注册 成功消息正在向用户显示 除了我想要做的是清除表单字段的值 我正在使用这个 Clear the form validation field data so th
  • 是否可以用 PHP 编写电子邮件解析器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 简单搜索:使用 CodeIgniter 将表单变量传递到 URI

    我的每个页面上都有一个搜索表单 如果我使用表单助手 它默认为 POST 我希望搜索词显示在 URI 中 http example com search KEYWORD 我已经在谷歌上搜索了大约一个小时 但没有结果 我只找到了有关如何进行的文
  • 如何在codeigniter中集成mongodb库以与mongodb连接数据库

    我正在使用 codeigniter 和 mongodb 数据库创建应用程序 由于 codeigniter 不包含 mongodbs 驱动程序 因此我使用内置库来连接 mongodb 我用过这个link http phpgainers com

随机推荐