【问题标题】:Codeigniter's file upload "allowed_types" option does not work properlyCodeigniter 的文件上传“allowed_types”选项无法正常工作
【发布时间】:2014-06-25 03:21:30
【问题描述】:
    $this->load->library('upload');

    $file_config = array(
        'upload_path' => $dir,
        'allowed_types' => 'csv',
        'file_name' => strtoupper($this->input->post('class_name')) . '.csv',
        'overwrite' => TRUE,
        'max_size' => 2048,
        'max_filename' => 128,
        'remove_spaces' => FALSE
    );
    $this->upload->initialize($file_config);
    // DEBUG
    if (!$this->upload->do_upload('file'))
        echo $this->upload->display_errors();
    else
        echo 'UPLOADED.';

出于某种原因,如果我输入'allowed_types' => '*',,它会接受它并且它工作得很好。但如果我只想要 csv 文件:'allowed_types' => 'csv',,当我上传 csv 文件时,它会输出错误:The filetype you are attempting to upload is not allowed.

如何在不让所有类型的文件上传*,而只让csv 文件上传的情况下解决这个问题?

【问题讨论】:

    标签: php codeigniter csv file-upload


    【解决方案1】:

    Codeigniter 文档说要使用文件 MIME 类型,CSV 的 MIME 类型是“text/csv”,所以使用它而不是仅仅使用“csv”。 http://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html

    【讨论】:

    • 还在给The filetype you are attempting to upload is not allowed.
    • 试一试,有许多不同类型的 csv MIME 类型并且都是有效的,因此您必须将它们全部包含在内。 stackoverflow.com/a/12338258/1231563
    • 好的,我编辑了 mimes.php 文件中的行。最后为allowed_types做了csv,它终于奏效了。谢谢!
    猜你喜欢
    • 2015-02-15
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多