[英]codeigniter file upload not uploading file
我正在尝试在codeigniter中上传文件,但是它没有上传,即使没有执行,也没有返回任何错误,仅给出了输出
字符串(9)“ image / png”
这是我的代码控制器:
$this->load->library('upload');
if($_FILES['categoryIcon']['tmp_name'])
{
$ext=end(explode(".",$_FILES['categoryIcon']['name']));
$filename=date('Ymdhis').rand().".".$ext;
$config['upload_path']=dirname($_SERVER["SCRIPT_FILENAME"])."/assets/images/categories/";
$config['upload_url']=base_url()."assets/images/categories/";
$config['file_name']=$filename;
$config['max_width'] = '2048';
$config['max_height'] = '2048';
$config['allowed_types'] = '*';
$this->upload->initialize($config);
if($this->upload->do_upload('categoryIcon'))
{
$data['categoryIcon']=$filename;
//$response=$this->ecommerce_model->add_new_category($data);
echo "uploaded";
}
else{
echo $this->upload->display_errors();
echo "not uploaded";
}
}
查看页面
<form action="" method="post" enctype="multipart/form-data" class="practice_form"> <input type="file" name="categoryIcon" id="image" class="form-control" accept="image/*"><input type="submit" value="Save Category" class="btn btn-primary"/>
我有一个上载文件,您可以做的是<input type="file=" name="categoryIcon[]" multiple="multiple"/>
,应该将其拾取后,您可以根据需要更改do_upload。
也改变
$config['upload_path'] = dirname($_SERVER["SCRIPT_FILENAME"])."/assets/images/categories/";
$config['upload_path'] = "./assets/images/categories/";
如果您的上传文件夹位于主目录中,则不需要目录名,请参考用户指南http://www.codeigniter.com/user_guide/libraries/file_uploading.html
回显文件数据
'$ file_info = $ this-> upload-> data();'
'echo $ file_info ['file_name'];'
仅有一个示例适用于多个codeigniter上传。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Upload extends CI_Controller {
function index()
{
$this->get_list();
}
public function get_list() {
$this->load->view('upload_success');
}
function do_upload() {
$this->load->library('form_validation');
// You need to set a form set rules
//$this->form_validation->set_rules('name', 'Banner Name', 'required');
if ($this->form_validation->run()) {
$files = $_FILES;
$file_loop = count($_FILES['categoryIcon']['name']);
for($i= 0; $i < $file_loop; $i++) {
$_FILES['categoryIcon']['name'] = $files['categoryIcon']['name'][$i];
$_FILES['categoryIcon']['type'] = $files['categoryIcon']['type'][$i];
$_FILES['categoryIcon']['tmp_name'] = $files['categoryIcon']['tmp_name'][$i];
$_FILES['categoryIcon']['error'] = $files['categoryIcon']['error'][$i];
$_FILES['categoryIcon']['size'] = $files['categoryIcon']['size'][$i];
$this->upload->initialize($this->file_config());
if (!$this->upload->do_upload()) {
$this->get_form();
} else {
$filename = $files['categoryIcon']['name'][$i];
$this->get_list();
}
} else {
$this->get_form();
}
}
public function get_form() {
$data['error'] = $this->upload->display_errors('<div class="alert alert-info">', '</div>');
$this->load->view('upload_form', $data);
}
private function file_config() {
$config = array();
$config['upload_path'] = './upload/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '0';
$config['overwrite'] = TRUE;
return $config;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.