问题描述
我第一次使用do上传图片,那很好。 然后,我想升级以上传pdf,doc和xls。 图片和xls有效,在 upload_folder 中有一个文件,该文件可以下载。
当我尝试上传pdf和docs时,文件未上传到 upload_folder 的问题 这是我的代码:
mimes.php
'pdf' => array('application/pdf','application/force-download','application/x-download','binary/octet-stream'),
core.php下载文件
function download($src)
{
$this->load->helper('download');
force_download('uploads/'.$src,NULL);
}
insert.php用于上传文件
function insert(){
$id_car_header = $this->input->post('input_id_car_header');
$keterangan = $this->input->post('input_keterangan');
$arsip = $_FILES["input_arsip"]['name'];
if ($arsip ='')
{}
else
{
$config ['allowed_types'] = 'jpg|jpeg|png|docx|pdf|xls';
$arsip_generate =$_FILES["input_arsip"]['name'];
$config ['upload_path'] = './uploads';
$config['file_name'] = $arsip_generate;
$this->load->library('upload',$config);
$this->load->library('upload',$config);
//$this->upload->initialize($config);
if (!$this->upload->do_upload('input_arsip'))
{
//$this->upload->display_errors();
echo "Gambar Gagal DiUpload..!!";
} else{
$arsip = $this->upload->data('file_name');
}
}
$data = array
(
'id_car_header' => $id_car_header,'ket_arsip' => $keterangan,'datas' => $arsip
);
$check = $this->m_db->insertDataAll("tbl_car_arsip",$data);
$this->checkInsert($check);
}
我的表单布局
<form action="<?php echo base_url().'/insert/insertArsip'; ?>" method="post" enctype="multipart/form-data">
<div class="col-md-12 col-xs-12">
<div class="form-group">
<input type="hidden" name="input_id_car_header" value="<?= $carHeader['id_car_header']?>">
<label class="control-label col-md-3 col-sm-3 col-xs-12">File/Foto </label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input type="file" name="input_arsip" class="form-control">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">Keterangan </label>
<div class="col-md-9 col-sm-9 col-xs-12">
<textarea name="input_keterangan" required="required" class="form-control" rows="3" placeholder="Masukan Keterangan"></textarea>
</div>
</div>
<div class="ln_solid"></div>
</div>
<div class="form-group">
<div class="col-md-9 col-sm-9 col-xs-12 col-md-offset-3">
<button type="submit" class="btn btn-success pull-right">
<i class="fa fa-save"></i> Save
</button>
</div>
</div>
</form>
我试图更改我的mime.php,进行初始化,并更改结构代码,但所有这些都不起作用
有人可以告诉我我需要做些什么来使我的代码能够上载pdf和docs吗? 非常感谢你
解决方法
我不知道为什么在关闭笔记本电脑并稍微更改代码后仍能正常工作,所有大文件都可以上传和下载 ofc我更改了Stackoverflow上某个用户的代码,该代码有我这样的问题,
我认为使上载pdf的这一行有效,我更改了这一行
$config ['allowed_types'] = '*';
这是上传文件的更新,我仅更改此功能
$id_car_header = $this->input->post('input_id_car_header');
$keterangan = $this->input->post('input_keterangan');
$arsip = $_FILES["input_arsip"]['name'];
$config ['allowed_types'] = '*';
$arsip_generate =$_FILES["input_arsip"]['name'];
$config ['upload_path'] = './uploads';
$config['file_name'] = $arsip_generate;
$config['max_size'] = 2000000;
$config['max_width'] = 1500;
$config['max_height'] = 1500;
$this->load->library('upload',$config);
$this->upload->initialize($config,true);
//$this->upload->initialize($config);
if (!$this->upload->do_upload('input_arsip'))
{
$error = array('error' => $this->upload->display_errors());
$this->upload->display_errors();
//$this->upload->display_errors()
echo "Gambar Gagal DiUpload..!!";
var_dump($config);
} else{
$arsip = $this->upload->data('file_name');
$data = array
(
'id_car_header' => $id_car_header,'ket_arsip' => $keterangan,'datas' => $arsip
);
$check = $this->m_db->insertDataAll("tbl_car_arsip",$data);
$this->checkInsert($check);
}