【问题标题】:Codeigniter - How to make a file upload field non mandatory?Codeigniter - 如何使文件上传字段非强制性?
【发布时间】:2011-04-02 09:26:46
【问题描述】:

我有一个包含 5 个文件输入字段的表单,如果文件字段不为空,我的 CRUD 方法都可以正常工作,但是客户现在希望将某些字段设置为非强制性。

这就是我尝试在我的代码中执行此操作的方式,我遇到的问题是如果文件字段为空,则声明一个空变量(在相应的数据库字段中插入一个空白值)。当没有上传任何内容时,我从 codeigniter 收到未定义的变量消息...

这是代码检查文件是否已上传的代码。

if(isset($_FILES['ticketing_summary_file']))
    {
    $this->upload->initialize($config);
        if($this->upload->do_upload('ticketing_summary_file'))
        {
        $upload_data=$this->upload->data();                                
        $ticketing_summary_file_name=$upload_data['file_name'];
        $ticketing_summary_full_file_path = $path_to_uploads.'/'.$ticketing_summary_file_name;
        $show['ticketing_summary_file_url'] = $ticketing_summary_full_file_path;            
         }
    } 

    if(!isset($_FILES['ticketing_summary_file']))
    {       
    $show['ticketing_summary_file_url'] = $empty_file_message;                                  
    }                       

这就是我将数据插入数据库的方式...我尝试在下面和上面的代码中声明'ticketing_summary_file'的内容,但它说它是空的

$show = array('tour_id' =>$tour,
                        'date' => $this->input->post('date'),
                        'location' => $location);
        $id = $this->show_model->save($show);

为任何帮助干杯,

【问题讨论】:

  • 有人有想法吗?我真的在为这么简单的事情苦苦挣扎。
  • 你得到这个答案了吗?如果是这样,请删除它或发布您的答案。

标签: php database file codeigniter file-upload


【解决方案1】:

我遇到了类似的问题。我最终检查了上传错误是否与 lang 文件中的文本匹配。可能有更好的方法,但这对我来说是一个快速的解决方案。希望对你有帮助。

    <?php 

    //play code file field
    $play_code_errors= '';

    $data['play_code_file_name'] = uniqid('pc_', true) . 'csv'; 

    $config['upload_path'] = './media/tmp/';
    $config['allowed_types'] = 'csv';
    $config['max_size'] = '4024';
    $config['file_name'] = $data['play_code_file_name'];

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

    if ( ! $this->upload->do_upload('play_code_file'))
    {
        $play_code_errors = $this->upload->display_errors();

        if($play_code_errors = $this->lang->line('upload_no_file_selected'))
        {
            $play_code_errors = '';
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多