2015-05-20 3 views
0

Мы пытаемся загрузить некоторые файлы с помощью Codeigniter, и по какой-то причине этот фрагмент кода не работает.Codeigniter не загружает Загрузите библиотеку

Загрузка библиотеки в «автозагрузку» отлично работает, но не лучшее решение по очевидным причинам.

Любопытно, что я работаю на другом веб-сайте, который у меня есть.

<?php 
// set options 
$config['upload_path']  = FCPATH.$path; 
$config['allowed_types'] = 'png|jpeg|jpg|gif'; 
$config['max_size']   = 2048; 
$config['encrypt_name']  = TRUE; 
$config['overwrite']  = TRUE; 
$config['max_width']  = 0; 
$config['max_height']  = 0; 
// check if folder exists 
if(! is_dir($config['upload_path'])) 
    @mkdir($config['upload_path'], 0755, true); 
//load upload library 
$this->load->library('upload', $config); 
//check success of upload 
if(! $this->upload->do_upload($name)) 
    return $this->upload->display_errors(); 
else 
{ 
    // do upload 
} 
?> 

Здесь ошибка:

A PHP Error was encountered 

Severity: Notice 

Message: Undefined property: xxx::$upload 

Filename: core/xxx.php 

Line Number: 424 

Fatal error: Call to a member function do_upload() on null 
+0

Просто ради любопытства попробовать с ' $ this-> load-> библиотека ('загрузка'); $ this-> upload-> initialize ($ config); ' – Tpojka

+0

Codeigniter не загружает библиотеку загрузки? Значит ли это, что кодогенератор делает что-то неправильно? или вы не можете понять, какую ошибку вы сделали? –

ответ

1

Сначала убедитесь, что $path правильный дамп вар ($ путь) и проверить его получения.

Во-вторых, вы не имеете никакого {} в случае, если часть do_upload и вокруг есть каталог

public function do_upload() { 

$config['upload_path']  = FCPATH . 'uploads/'; 
$config['allowed_types'] = 'png|jpeg|jpg'; 
$config['max_size']   = 2048; 
$config['encrypt_name']  = TRUE; 
$config['max_size'] = '30000'; // Added Max Size 
$config['overwrite']  = TRUE; 
$config['max_width']  = 0; 
$config['max_height']  = 0; 

//load upload library 

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

// check if folder exists 

if(! is_dir($config['upload_path'])) { 
@mkdir($config['upload_path'], 0755, true); 
} 

//check success of upload 

$name = "userfile"; // Field name 

if(! $this->upload->do_upload($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); 

} 

} 

Убедитесь в использовании вид echo form_open_multipart('controller/do_upload')

http://www.codeigniter.com/userguide2/libraries/file_uploading.html

Смежные вопросы