forms - codeigniter 上传表单不起作用

标签 forms codeigniter file-upload

我从未使用过代码点火器,我正在尝试制作一个包含图像上传输入的快速管理表单。我的管理表单已启动并具有我可以访问的路线/网址,但保存功能无法正常工作。当我点击提交按钮时,出现 404 错误。

我认为问题出在views/admin/Dashboard.php 中的form_open_multipart('dashboard_save/do_upload') 行。我认为 do_upload 功能尚未达到。有什么想法我哪里出错了吗?

*新细节:我可以使用索引函数通过 form_open_multipart('dashboard_save') 访问我的 Controller ...但我无法访问任何其他函数,例如 form_open_multipart( 'dashboard_save/upload')使用 Controller dashboard_save中的上传功能。

Controller

controllers/admin/Dashboard_save.php

<?php

   class Dashboard_save extends CI_Controller
   {

      public function __construct()
      {
         parent::__construct();
         $this->load->helper(array('form', 'url'));
      }

      public function index()
      {
        // die('got here 2');
         $this->load->view('admin/dashboard_view', array('error' => ' ' ));
      }

      public function do_upload()
      {
        // die('got here!!');
         $config['upload_path']   = './uploads/';
         $config['allowed_types'] = 'gif|jpg|png';
         $config['max_size']      = 100;
         $config['max_width']     = 1024;
         $config['max_height']    = 768;
         $this->load->library('upload', $config);

         if ( ! $this->upload->do_upload('userfile'))
         {
            $error = array('error' => $this->upload->display_errors());
            $this->load->view('dashboard_view', $error);
         }

         else
         {
            $data = array('upload_data' => $this->upload->data());
            $this->load->view('dashboard_save', $data);
         }
      }
   }
?>

观点

views/admin/Dashboard.php

<?php defined('BASEPATH') OR exit('No direct script access allowed');?>
<!DOCTYPE html>
<body>
  <div id="main-wrapper">
    <div id="main-container">
      <div id="main-body">
        <div id='main-form-body'>
          <p>Configure front end here.</p>
          <div id='admin-form-container'> 
            <?php echo form_open_multipart('dashboard_save/do_upload');?>
            <form id="admin-form" method="" action="">
              <div class='form-field'>
                <div class='label-wrapper'><label for='main_img'>Main Image</label></div>
                <input type = "file" name = "userfile" size = "20" />
              </div>
            <div class='form-field'>
              <button id="submit-search" type="submit" class="button" title="Submit" value = "upload">Submit</button>
            </div>
          </form>
        </div>
      </div>
    </div>
  </div>
</body>
</html>

views/admin/Dashboard_save.php

<html>
   <head><title>Dashboard Save</title></head>
   <body>
      <h3>testing dashbord submit</h3>
      <ul>
         <?php foreach ($upload_data as $item => $value):?>
         <li><?php echo $item;?>: <?php $value;?></li>
         <?php endforeach; ?>
      </ul>
      <p><?php echo anchor('upload', 'Upload Another File!'); ?></p>
   </body>
</html>

最佳答案

您好,首先检查您的 do_upload 函数是否已被调用。如果是,请检查您是否已加载上传库。如果不是这样,请上传库并使用下面的代码

<?php defined('BASEPATH') OR exit('No direct script access allowed');?>
<!DOCTYPE html>
<body>
  <div id="main-wrapper">
    <div id="main-container">
      <div id="main-body">
        <div id='main-form-body'>
          <p>Configure front end here.</p>
          <div id='admin-form-container'>        
            <form id="admin-form" method="post" action="<?php echo base_url()?>/dashboard_save/do_upload" enctype="multipart/form-data">
              <div class='form-field'>
                <div class='label-wrapper'><label for='main_img'>Main Image</label></div>
                <input type = "file" name = "userfile" size = "20" />
              </div>
            <div class='form-field'>
              <button id="submit-search" type="submit" class="button" title="Submit" value = "upload">Submit</button>
            </div>
          </form>
        </div>
      </div>
    </div>
  </div>
</body>
</html>

关于forms - codeigniter 上传表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39737853/

相关文章:

javascript - 没有表单的 HTML 输入框

javascript - 在 jQuery 中基于复选框切换输入的禁用属性

ASP.NET 文件上传

javascript - 如何更改验证表单中的属性值

html - 不使用form标签使用fieldset标签是不是错了?

php - 如何使 Codeigniter 中的分页类与 AJAX 一起工作?

django - 如何在 django 管理中将多个图像上传与 UPLOADIFY 集成?

asp.net - 系统内存不足异常 : Exception when uploading a file

codeigniter - 嵌套where子句codeigniter mysql查询

javascript - 如何分别获取输入标签和选项标签并加载到div内部和select内部