远程服务器上没有上载codeigniter文件


codeigniter file is not uploading on remote server

这是一个swf-fiel上传的代码,但问题是它在本地主机上运行良好,但在远程服务器上不正常。这是我的控制器

function do_upload()
{
    $pid=$this->input->post('Page_id');
    $config['upload_path'] = './uploads/';
    $config['allowed_types'] = 'swf';
    $config['max_size'] = '1048';
    $config['file_name'] =$pid;
    $this->load->library('upload', $config);
    if ( ! $this->upload->do_upload())
    {
        $error = array('error' => $this->upload->display_errors());
    }
    else{   
        $data=array(
            'id'=>$pid,
            'link'=>base_url()."uploads/",
            'file_name'=>$config['file_name']
        );
        $this->file_upload_model->upload_data($data);
        $this->upload_success();
    }
}

除了将路径和文件名上传到模型中的数据库之外,我什么都没做。请参阅此处的演示

试试这个

$pid=$this->input->post('Page_id');
$config['file_name']        = $pid;
$config['upload_path']      = './uploads/';
$config['allowed_types']    = 'swf';
$config['max_size']         = '1048';
$config['remove_spaces']    = TRUE;
$this->load->library('upload', $config);
if ($this->upload->do_upload()) 
{
    //upload successful
    //do something
} 
else 
{
    $this->session->set_flashdata('error',$this->upload->display_errors());
    redirect('controller/method');
    /*
        In the view file you can echo the error like this 
        echo $this->session->flashdata('error');
    */
}

您已经在do_upload调用中传递了字段名,如下所示:

$config = array(
    'allowed_types' => 'jpg|jpeg|swf |png', // pipe seperated file types
    'upload_path' => './uploads/', // should be the root path
    'max_size' => '1048',
    'file_name' => $pid
);
$this->load->library('upload', $config);
if (!$this->upload->do_upload('your_field_name')) {
    // like $this->upload->do_upload($pid)
    $error = array('error' => $this->upload->display_errors());
} else {
    $swf_data = $this->upload->data();
}

希望这是有意义的

这可能是由于PHP服务器版本和它的选项。

1) .转到cpanel帐户

2) .单击软件部分中的"选择php版本"。

3) .点击php选项中的"fileinfo"复选框并保存。

现在您可以完美地上传文件了。