2012-01-18 2 views
0

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

это мой код

function do_upload() 
{ 
    $config['upload_path'] = './uploads/'; 
    $config['allowed_types'] = 'jpg|png'; 
    $config['max_size'] = '3000'; 
    $config['max_width'] = '1024'; 
    $config['max_height'] = '768'; 

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

    if (!$this->upload->do_upload()){ 
     echo $this->upload->display_errors(); 
    }else{ 
     echo $this->upload->data(); 
    } 
} 

это даже не передать изображение в каталог.

+0

Вы получаете какую-либо ошибку? – Dau

+0

Возможно, какой-то выход был бы полезен? – swatkins

+0

Я не получаю, объясните, объясните. не про! –

ответ

1

попробовать эту функцию вместо:

function upload_done() { 
$config['overwrite'] = TRUE; 
$config['encrypt_name'] = FALSE; 
$config['remove_spaces'] = TRUE; 
$config['upload_path'] = '/var/www/uploadfiles/'; // use an absolute path 
$config['allowed_types'] = 'jpg|png'; 
$config['max_size'] = '0'; 
if (! is_dir($config['upload_path'])) die("THE UPLOAD DIRECTORY DOES NOT EXIST"); 
$this->load->library('upload',$config); 
if (! $this->upload->do_upload()) 
{ 
    echo "UPLOAD ERROR ! ".$this->upload->display_errors(); 
} else { 
    echo "THE IMAGE HAS BEEN UPLOADED : "; var_dump($this->upload->data()); 
} 
} 
+0

спасибо, что изображение загружено отлично. –

+0

, но я хочу запустить запрос сразу и сохранить полный путь к изображению в моей таблице изображений, как мне получить полный путь. это массив, содержащий всю информацию об изображении. $ this-> upload-> data() –

+0

Вы найдете то, что вам нужно в ** $ t = $ this-> upload-> data(); $ full_path_to_image = $ t ['full_path']; ** для хранения всего массива: ** '$ this-> db-> insert ('images_table', $ t);' ** – sly63

0

Убедитесь, что ваш HTML выглядит, как показано ниже.

<input type="file" name="userfile" size="20" /> 

библиотека загрузки CodeIgniter предполагает название, чтобы быть «UserFile»

0

Вы должны изменить вызов do_upload() в зависимости от имени, которое вы дали вводимой формы. Допустим, у вас есть этот код в ваш HTML:

<input type="file" name="image" /> 

Вам нужно изменить:

$this->upload->do_upload() 

к

$this->upload->do_upload('image') 

По умолчанию CodeIgniter подразумевает название является "UserFile".

+0

благодарит за вкладки imsge, красиво. –

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