Codeigniter do_upload方法不工作



我在一个cms与Codeigniter工作。我正在尝试从系统上传文件。我正在接收文件,但do_upload方法不起作用。关于这个话题还有很多类似的问题,但是没有一个答案是有效的。

方法如下:

public function fileupdate($productId=False){

$formData = $this->input->post();
if (isset($formData['activityNewFile'])) {

foreach ($formData['activityNewFile'] as $key => $value) {
$rndNumber = rand(1,500);
$fileLastName = sef_url($formData['activitynewfilename'.$value]);
// Set preference 
$config['upload_path']   = '../assets/'; 
$config['allowed_types'] = 'pdf|doc|docx|xls|xlsx'; 
$config['max_size']      = '80960'; // max_size in kb 
$config['file_name']     = $fileLastName; 
$upFile                  = 'activitynewfile'.$value;


// Load upload library 
$this->load->library('upload',$config); 
// File upload
if($this->upload->do_upload($upFile)){ 
// Get data about the file
$uploadData = $this->upload->data(); 
$filename = $uploadData['file_name']; 
$daData = array(
'productId'        => $productId,
'productFileName'  => $formData['activitynewfilename'.$value],
'productFile'      => $filename
);
$productfileInsert = $this->db->insert('productfile',$daData);

}

}
}
$this->success("İşlem tamamlandı.");
}

HTML部分:

<form class="m-form m-form--fit m-form--label-align-right" role="form" method="POST" id="product_file_edit" action="<?=base_url('product/product/fileupdate/'.$productInfo->productId);?>" enctype="multipart/form-data"  onsubmit="return false; form_gonder('product_file_edit')" >
<div class="modal-body">

<div class="form-group m-form__group row">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="col-md-12" style="margin-bottom: 10px;padding: 0;" id="file_row">
<button  onclick="addFileRow('file_add')" class="btn btn-primary btn-sm">
<i class="zmdi zmdi-plus"></i> Add
</button>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button  onclick="form_gonder('product_file_edit')"  class="btn btn-green btn-sm">
Save
</button>
</div>
</form>

Javascript部分:

function addFileRow(tur){
if(tur=="file_add"){
emreFile = Math.floor(Math.random() * 10);
myhtmlFile = '<div class="col-md-12 row" id="filenew'+emreFile+'" style="padding: 0;margin: 0;margin-bottom: 10px;"><div class="input-group"><input type="hidden" name="activityNewFile[]" value="'+emreFile+'"><img src="../assets/file/pdfword.png" style="width: 38px;float: left;height: 38px;"><input type="text"  name="activitynewfilename'+emreFile+'"  class="form-control" placeholder="Dosya Adı" style="width: 45%;float: left;height: 39px;"><input type="file"  name="activitynewfile'+emreFile+'"  accept=".xls,.xlsx,.doc,.docx,.pdf"  class="form-control" placeholder="Dosya Adı" style="width: 46%;opacity: 1;float: right;position: relative;"><span class="input-group-btn"><button class="btn btn-red btn-fab  btn-fab-sm  animate-fab" onclick="deleteNewFileRow('+emreFile+')" type="button"><i class="zmdi zmdi-delete"></i></button></span></div></div>';
var icerikFile = myhtmlFile;
jQuery("#file_row").prepend(icerikFile);
}
}

如果你能找出问题所在,我将非常感激。

您的问题实际上是文件没有正确加载。你的代码没有错误。确保在服务器上打开file_uploads。确保upload_max_filesize值不小于文件大小。