2016-03-18 74 views
-1
<?php 
defined('BASEPATH')`enter code here` OR exit('No direct script access allowed'); 
class Upload extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
     $this->load->helper(array('form', 'url')); 
    } 

    function index() 
    { 
     $this->load->view('upload_form', array('error' => ' ')); 
    } 

    function do_upload() 
    { 
     $config['upload_path'] = './uploads/'; 

     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size'] = '100'; 
     $config['max_width'] = '1024'; 
     $config['max_height'] = '768'; 

     $this->load->library('Upload', $config); 

     if (! $this->upload->do_upload()) 
     { 
      $error = array('error' => $this->upload->display_errors()); 

      $this->load->view('upload_form', $error); 
     } 
     else 
     { 
      $data = array('upload_data' => $this->upload->data()); 

      $this->load->view('upload_success', $data); 
     } 
    } 
} 
?> 
+1

问题不是CELAR .. –

+0

哪里是形象的名字? –

+0

$ this-> upload-> do_upload('userfile')和Upload to change upload –

回答

0

使用这个库上传...它易于使用

http://demo.codesamplez.com/codeigniter/file-upload-demo

查看

<form action="" method="POST" enctype="multipart/form-data" > 
Select File To Upload:<br /> 
<input type="file" name="userfile" multiple="multiple" /> 
<input type="submit" name="submit" value="Upload" class="btn btn-success" /> 
</form> 

{if isset($uploaded_file)} 
{foreach from=$uploaded_file key=name item=value} 
{$name} : {$value} 
<br /> 
{/foreach} 
{/if} 

控制器

/** 
* the demo for file upload tutorial on codesamplez.com 
* @return view 
*/ 
public function file_upload_demo() 
{ 
try 
{ 
if($this->input->post("submit")){ 
$this->load->library("app/uploader"); 
$this->uploader->do_upload(); 
} 
return $this->view(); 
} 
catch(Exception $err) 
{ 
log_message("error",$err->getMessage()); 
return show_error($err->getMessage()); 
} 
} 

组件

/** 
* Description of uploader 
* 
* @author Rana 
*/ 
class Uploader { 
var $config; 
public function __construct() { 
$this->ci =& get_instance(); 
$this->config = array(
'upload_path' => dirname($_SERVER["SCRIPT_FILENAME"])."/files/", 
'upload_url' => base_url()."files/", 
'allowed_types' => "gif|jpg|png|jpeg|pdf|doc|xml", 
'overwrite' => TRUE, 
'max_size' => "1000KB", 
'max_height' => "768", 
'max_width' => "1024" 
); 
} 
public function do_upload(){ 
$this->remove_dir($this->config["upload_path"], false); 
$this->ci->load->library('upload', $this->config); 
if($this->ci->upload->do_upload()) 
{ 
$this->ci->data['status']->message = "File Uploaded Successfully"; 
$this->ci->data['status']->success = TRUE; 
$this->ci->data["uploaded_file"] = $this->ci->upload->data(); 
} 
else 
{ 
$this->ci->data['status']->message = $this->ci->upload->display_errors(); 
$this->ci->data['status']->success = FALSE; 
} 
} 
function remove_dir($dir, $DeleteMe) { 
if(!$dh = @opendir($dir)) return; 
while (false !== ($obj = readdir($dh))) { 
if($obj=='.' || $obj=='..') continue; 
if ([email protected]($dir.'/'.$obj)) $this->remove_dir($dir.'/'.$obj, true); 
} 

closedir($dh); 
if ($DeleteMe){ 
@rmdir($dir); 
} 
} 
} 
0
$config['upload_path'] = './uploads/'; 
    $config['allowed_types'] = 'gif|jpg|png'; 
    $config['max_size'] = '100'; 
    $config['max_width'] = '1024'; 
    $config['max_height'] = '768'; 

    $this->load->library('upload', $config); 

    if (! $this->upload->do_upload('image name')) 
    { 
     $error = array('error' => $this->upload->display_errors()); 

     $this->load->view('upload_form', $error); 
    } 
    else 
    { 
     $data = array('upload_data' => $this->upload->data()); 

     $this->load->view('upload_success', $data); 
    } 
0

从您的代码,您的文件将在上传文件夹这是你的根目录下上传。 $config['upload_path'] = './uploads/';这是您上传的文件存储的地方。 你做一个目录上传那里应用程序文件夹是。 如果你想要你的当前代码。

您需要上传图片的目标文件夹。在CodeIgniter安装的根目录创建一个名为uploads的文件夹,并将其文件权限设置为777. 默认情况下,上传例程期望文件来自名为userfile的表单字段。 从file uploading class

enter image description here