2013-04-18 4 views
0

Я создаю библиотеку как часть проекта, и один из методов - это обертка для помощника загрузки.Почему мой путь загрузки недействителен? (Codeigniter-Library)

Метод:

public function upload(){ 

    echo "Doing upload"; 

    $config['upload_path']= RESOURCE_PATH . "Downloads"; 
    $config['allowed_types']='pdf|doc'; 
    $config['max_size']='10000'; 
    //echo $config['upload_path']; 

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

    if(!$this->CI->upload->do_upload()){ 
     echo "Couldn't do the upload"; 
     echo $this->CI->upload->display_errors(); 
     echo $config['upload_path']; 
    } 
    else{ 
     echo "Could do the upload"; 
    } 
} 

Я проверил права доступа к директориям папки Downloads и что она существует, но я получаю следующее сообщение об ошибке: «Путь загрузки не появляется, чтобы быть действительным. "

Как решить эту проблему?

EDIT :: Я создал символическую ссылку, так мой каталог strucutre действительно выглядит следующим образом:

www -> /home/user/Dropbox/www/appname 

Примечание о переменных используется:

$this->CI = &get_instance(); // Defined in custom library class 
define('RESOURCE_PATH', APPPATH . 'views/resources/'); // Defined in constants.php 
+0

Что вы получаете, когда вы 'эхо RESOURCE_PATH. "Загрузка"; '? – Hobbes

+0

Я получаю приложение/views/resources/Downloads – Sheldon

+0

Вы хотите использовать абсолютный путь. Это должно быть c: \ folder \ file.ext (или unix: /home/folder/file.ext). – Hobbes

ответ

0

Figured out the idiotic problem.

I was autoloading the library and some how when I was trying to initialize the configuration by $this->load->library('upload', $config); it wouldn't do so.

Instead I put my config files in config/upload.php

The other method to do so would have been $this->upload->initialize($config);

See this answer.

0

Добавить это линия

$this->CI->upload->initialize($config); 

после

$this->CI->load->library('upload',$config); 
Смежные вопросы