【问题标题】:file not uploading to pagodabox using codeigniter文件未使用 codeigniter 上传到 pagodabox
【发布时间】:2014-03-16 19:43:55
【问题描述】:

我有一个部署到 pagodabox 的 codeigniter 项目,问题是它有一个文件上传表单,该表单应该上传 csv 文件,但不知何故我收到一个错误,提示该文件类型是不允许的。然而,它在我的本地 wamp 服务器上工作。

任何帮助将不胜感激。这是我的代码

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

类 Uploadfile 扩展 CI_Controller {

    public function __construct()
    {
        parent::__construct();
        //Do your magic here    
        $this->load->library('csvreader');                      
    }

    function upload() {         
        $session_data = $this->session->userdata('logged_in');
        $current_user_name = $session_data['username'];     
        $config = array('upload_path' => 'application/uploads',
                        'max_size' =>   '0',
                        'allowed_types' => 'csv',
                        'file_name' => $current_user_name,
                        'overwrite' => true
                         );
        $this->load->library('upload', $config);

        $upload_field_name = 'csvfile';         

         if ( ! $this->upload->do_upload($upload_field_name)){
            $error = array('error' => $this->upload->display_errors());             
            $this->load->view('upload_error', $error);
            var_dump('$upload_field_name');
         }
         else {

            $csvfile = array('csvfile' => $this->upload->data($upload_field_name));             
            $csvdata = $this->csvreader->parse_file($csvfile['csvfile']['full_path']);  
            $data['jsondata'] = json_encode($csvdata);                                              
            $this->load->view('dashboard', $data);

         }

    }

} ?>

【问题讨论】:

  • 您是否尝试过通过 multipart/form-data 上传文件?我使用了您的代码并对其进行了一些更改,但首先告诉我您是否尝试使用 enctype = multipart/form-data 发布?
  • 是的,我在视图上使用 multipart/form-data
  • 问题是它在我的本地主机上运行良好,但在我部署它的宝塔上却不行。
  • $this->upload->initialize($config);上传前你设置初始化了吗?
  • 初始化文件后同样的问题,你没明白我的意思。问题是宝塔箱特定的。它在我的本地主机上运行良好

标签: php codeigniter file-upload pagoda-box


【解决方案1】:

您是否在 Boxfile 中指定此文件夹是可写的:

web1
...
  shared_writable_dirs: 
    - /application/uploads/  

【讨论】:

  • 我做了彼得,这就是解决问题的方法。我猜设置 Boxfiles 是 pagodabox 的坏处。我更喜欢通常的 php.ini 文件。
猜你喜欢
  • 1970-01-01
  • 2013-08-24
  • 1970-01-01
  • 2015-06-10
  • 2021-08-12
  • 2014-03-10
  • 2013-02-12
  • 2010-11-27
相关资源
最近更新 更多