文件上传问题,重定向到错误页面

时间:2015-08-07 11:01:40

标签: php codeigniter

我正在使用codeigniter框架。我在控制器中写了“上传文件”代码。一切都很好。但是我的测试人员问我'如果我从我的系统中选择一个文件并在点击上传之前重命名该文件名会怎么样'。我检查了这个场景。 Chrome浏览器将我重定向到err_file_not_found页面,而Firefox正在显示空白页面。我也试过了异常处理但是无法处理这个问题。 以下是代码。它甚至没有检查其他部分。请帮我解决这个问题。

public function addFile()
{   
$fileDetails =  array('file' =>'@'. $_FILES['component_id']['tmp_name'].';filename='.$_FILES['component_id']['name'].';type='.   $_FILES['component_id']['type']);  
$uploadResponse = $this->component_model->imageupload(UPLOAD_FILE,$fileDetails);  
$filepath = $_FILES['component_jar_id']['tmp_name'];
if(file_exists($filepath)){
echo "success"; 
}
else{
echo "Requested file not found";
}       
}

我已按如下方式更改了我的代码。

public function addFile()
{ 
    try{    
        $fileDetails =  array('file' =>'@'. $_FILES['component_jar_id']['tmp_name']. ';filename=' . $_FILES['component_jar_id']['name']. ';type=' . $_FILES['component_jar_id']['type']);  
        $uploadResponse1 = $this->component_model->imageupload(UPLOAD_FILE,$fileDetails); 
        $config['upload_path'] = $_FILES['component_jar_id']['tmp_name'];
        $this->load->library('upload', $config);
        if (!$this->upload->do_upload('filename'))
        {
            throw new Exception("File not Found");
        }
        else
        {
            echo "Success";
        }
    }
    catch(Exception $e) {
        echo 'Message: ' .$e->getMessage();
    }

}

仍然是chrome重定向到找不到的网页,在刷新时,它显示我抛出的异常。

1 个答案:

答案 0 :(得分:0)

如果您的案例与您的解释相同,请检查

 $_FILES["component_id"]["size"]

$_FILES["component_id"]["size"] will become 0如果您在浏览后更改文件名,那么您可以编写类似。

的内容
if($_FILES["component_id"]["size"] > 0){
echo "success"; 
}
else{
echo "Fail";
}