为什么codeigniter do_upload不能在服务器上运行?

时间:2014-12-16 12:07:19

标签: codeigniter upload

我使用codeigniter do_upload在服务器上的目录上上传mp3文件。 我的代码在localhost上完美运行,但在生产服务器上只是浏览器一直在等待服务器和处理,很长一段时间没有任何反应。

以下代码中的 $ dirpath是服务器上目标目录的路径。

    $data['info']=$this->cp_model->GetInfo($service_id);
    $dirpath = '/var/li/sounds/'.$data['info'][0]->path;


    $config = array('allowed_types' => 'mp3' ,
                    'upload_path' => $dirpath,
                    'overwrite' => FALSE,
                    'max_size' => 0,
                    );

    $this->load->library('upload',$config);
    }

    if (isset($_POST['submit'])) {

        $this->upload->do_upload();}

2 个答案:

答案 0 :(得分:0)

您很可能对$ dirpath上声明的文件夹没有写权限。还要考虑上传一个可能是4-5 MB服务器端的mp3,根据你的连接可能需要几分钟。

要找出问题所在,请通过检查do_upload()方法输出错误。

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

有关File Uploading class的更多信息。

答案 1 :(得分:-3)

你的脚本可以在" Local"旁边的任何地方使用。服务器 现在我遇到了同样的问题,在托管Web服务器上进行了测试,并且它有效。如果你想要代码,那么你就是:

s4