我正在尝试使用PHP和codeigniter上传文件。我的问题是我收到了一个错误
您没有选择要上传的文件。
我使用以下代码,
$config['upload_path'] = "./media/uploads/cv";
$config['allowed_types'] = 'pdf|doc|docx';
$config['max_size'] = '1000';
$this->upload->initialize($config);
$this->upload->do_upload('cvfile');
if($this->upload->display_errors())
{
$data['error'] = $this->upload->display_errors();
die(print_r($data['error']));
$this->template->build('/users/candidate', $data);
return;
}
else
{
die(print_r($this->upload->data()));
}
在我的HTML中,我有一个多部分表单,并且在该表单中我使用以下代码,
<input type="file" class="small" id="cvfile" value="" name="cvfile">
为什么我会收到上述错误?
答案 0 :(得分:1)
这表示PHP函数is_uploaded_file
表示名称为cvfile
的上传文件不存在。您应该检查您的multipart / form声明并验证它是否有效,并确保您的PHP设置允许您将上传的文件写入临时文件夹。
答案 1 :(得分:0)
查看:
<?php echo form_open_multipart('home/.....');?>//going to next page
<input type="file" name="cvfile" />
</form>
控制器:
$config['upload_path'] = './path'; // put here your path
$config['allowed_types'] = 'pdf|doc|docx';
$config['max_size'] = '4096';
$this->load->library('upload', $config);
$this->upload->display_errors('', '');
if (!$this->upload->do_upload("cvfile")) {
echo $this->upload->display_errors(); die();
$this->data['error'] = array('error' => $this->upload->display_errors());
} else {
$upload_result = $this->upload->data();
print_r($upload_result['file_name']);//or print any valid
}