2016-12-27 106 views
1

我想在我的网站上使用codeigniter的上传库添加文件上传功能。codeigniter do_upload不工作

这里是我的视图文件(Display.php的):

<html> 
<body> 
    <form method="post" action="" enctype="multipart/form-data"> 
     <input type="file" name="filename" /> 
     <input type="submit" name="submit" id="submit" value="submit"/> 
    </form> 
</body> 
</html> 

和这里的控制器:

public function testupload() 
{ 
    if (! empty($_FILES)) 
    { 
    echo 'start upload'; 
    $config['upload_path'] = './assets/img/tempfile/'; 
    $this->load->library('upload'); 
    $this->upload->initialize($config); 
    if (! $this->upload->do_upload('filename')) 
    { 
     echo 'error!'; 
    } 
    else 
    { 
     echo 'success!'; 
    } 
    echo 'end upload'; 
    } 
    $this->load->view('display', $this->data); 
} 

但代码看起来$this->upload->initialize($config);之后停止该文件没有上传,并有根本没有消息。只有'start upload'消息出现;不出现echo 'success'echo 'error'echo 'end upload'

这是为什么?谁能帮我??

+1

使用'$ this-> upload-> display_errors()'调试错误 –

+1

启用调试模式。 'ini_set('display_errors','1'); error_reporting(E_ALL);'并打印这个以及'$ this-> upload-> display_errors()'; – Naga

+0

nope。没有任何工作。如果放在'$ this-> upload-> do_upload('文件名')之后,甚至没有简单的'echo'blabla';';我尝试了@Naga的建议,但仍然没有任何结果。 – dapidmini

回答

0

尝试这样的....从

$config['upload_path'] = './assets/img/tempfile/'; 

$config['upload_path'] = 'assets/img/tempfile/'; 
+0

相同的结果..提交后,它只显示'开始上传“,并没有在那之后.. – dapidmini

+0

我想你必须设置更多'$ config []'..在这里https://www.codeigniter.com/userguide3/libraries/file_uploading.html –

+0

试图从你的链接添加4其他$配置,但仍然相同.. – dapidmini

0

变化 只需添加这行

$config['upload_path'] = './assets/img/tempfile/'; 

后0

,或者您也可以设置有鉴于此页

action="<?php echo base_url('YourController/testupload');?>" 
+0

'。/ assets/img/tempfile /'和''assets/img/tempfile /''之间有什么不同? –

0

我检查这个代码这项工作完美

public function testupload() 
{ 
    if (! empty($_FILES)) 
    { 
    echo 'start upload'; 
    $config['upload_path'] = './assets/img/tempfile/'; 
    $this->load->library('upload',$config); 
    if (! $this->upload->do_upload('filename')) 
    { 
     $error = array('error' => $this->upload->display_errors()); 
     $this->load->view('display', $error); //loads the view display.php with error 
    } 
    else 
    { 
     echo 'success!'; 
    } 
    echo 'end upload'; 
    $data = array('upload_data' => $this->upload->data()); 
    $this->load->view('display', $data); //loads view display.php with data 
    } 

} 
0

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

1)。去的cPanel帐户

2)。单击 “选择PHP版本”,在软件部分。

3).tap“fileinfo”chexbox在php选项并保存。

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