У меня проблема с загрузкой библиотеки CodeIgniter,
Я уже создал три (3) веб-сайта с CodeIgniter, поэтому я считаю себя знакомым с этой платформой.
Проблема только с загрузкой lib. Я пробовал с несколькими функциями, и это все еще не работает.
Я даже пытался с пример CodeIgniter
В гугле я не могу найти ответы, у кого-нибудь есть идея, что это может быть?
class Admin extends CI_Controller {
public function __construct(){
parent::__construct();
$this->load->library('session');
$this->load->library('v');
$this->load->model('admin_model');
}
public function upload_a_thing($set = null){
$this->load->helper(array('form', 'url'));
if(!$set){
$this->load->view('admin/upload_a_thing');
}else{
$this->load->library('Upload');
if (!$this->upload->do_upload('userfile')){
echo $this->upload->display_errors();
} else {
$file = $this->upload->data();
// $product = $this->admin_model->get_products($id);
$newFilePath = $config['upload_path'].'try.jpg';
$file['file_name'] = str_replace(" ","_",$file['file_name']);
rename($config['upload_path'].$file['file_name'], $newFilePath);
}
}
}
Undefined property: Admin::$upload
Fatal error: Call to a member function do_upload() on a non-object
$config['upload_path'] = './media/imgs/products/';
$this->load->library('upload',$config);
if (!$this->upload->do_upload('userfile')){
echo $this->upload->display_errors();
}
Если ваша форма выглядит так:
<input type="file" class="input" name="logo" />
затем вызовите do_upload () следующим образом:
do_upload('logo');
Если это выглядит так:
<input type="file" class="input" name="userfile" />
тогда назовите это так:
do_upload();
сделать что-то подобное
if (!$this->upload->do_upload('userfile')){
echo $this->upload->display_errors();
}
Ваш код…
$this->load->library('Upload');
По всем примерам в документации, upload
должно быть написано строчными буквами и, скорее всего, причина, по которой библиотека не загружается.
Кроме того, если ваш $config
массив отсутствует, вы не следуете коду примера в документации:
$config['upload_path'] = './uploads/'; // <- preferences
$this->load->library('upload', $config); // <- load library and set configuration
ИЛИ ЖЕ
$this->load->library('upload'); // <- load library
$config['upload_path'] = './uploads/'; // <- preferences
$this->upload->initialize($config); // <- set configuration
ИЛИ ЖЕ
// 'upload' library is "auto-loaded" // <- load library
$config['upload_path'] = './uploads/'; // <- preferences
$this->upload->initialize($config); // <- set configuration
Из списка предпочтений все они кажутся необязательными, за исключением upload_path
…
Значение по умолчанию: Никто
ОписаниеПуть к папке, в которую должна быть помещена загрузка. Папка должна быть доступной для записи, а путь может быть абсолютным или относительным.
Я не уверен, как CodeIgniter мог знать, куда загрузить файл, когда нет upload_path
потому что по умолчанию нет и весь ваш массив конфигурации отсутствует.