Я создал помощника, который требует некоторые параметры и должен загрузить файл, функция работает для изображений, но не для zip-файлов. Я искал в Google и даже добавил MY_upload.php -> http://codeigniter.com/bug_tracker/bug/6780/
однако у меня все еще есть проблема, поэтому я использовал print_r для отображения массива загруженных файлов, изображение в порядке, но массив zip пуст:
Array
(
[file_name] =>
[file_type] =>
[file_path] =>
[full_path] =>
[raw_name] =>
[orig_name] =>
[file_ext] =>
[file_size] =>
[is_image] =>
[image_width] =>
[image_height] =>
[image_type] =>
[image_size_str] =>
)
Array
(
[file_name] => 2385b959279b5e3cd451fee54273512c.png
[file_type] => image/png
[file_path] => I:/wamp/www/e-commerce/sources/images/
[full_path] => I:/wamp/www/e-commerce/sources/images/2385b959279b5e3cd451fee54273512c.png
[raw_name] => 2385b959279b5e3cd451fee54273512c
[orig_name] => 1269770869_Art_Artdesigner.lv_.png
[file_ext] => .png
[file_size] => 15.43
[is_image] => 1
[image_width] => 113
[image_height] => 128
[image_type] => png
[image_size_str] => width="113" height="128"
)
это помощник функции
<code>function multiple_upload($name = 'userfile', $upload_dir = 'sources/images/', $allowed_types = 'gif|jpg|jpeg|jpe|png', $size)
{
$CI =& get_instance();
$config['upload_path'] = realpath($upload_dir);
$config['allowed_types'] = $allowed_types;
$config['max_size'] = $size;
$config['overwrite'] = FALSE;
$config['encrypt_name'] = TRUE;
$ffiles = $CI->upload->data();
echo "<pre>";
print_r($ffiles);
echo "
";
$ CI-> upload-> инициализировать ($ конфигурации);
$ errors = FALSE;
if (! $ CI-> upload-> do_upload ($ name)): // Я считаю, что это вызывает проблему, но я новичок в codeigniter, поэтому не знаю, где искать ошибки
$ errors = TRUE;
еще:
// Построить массив файлов из всех загруженных файлов
$ files = $ CI-> upload-> data ();
ENDIF;
// Произошли ошибки, мы должны удалить загруженные файлы
если ($ ошибок):
@unlink ($ файлы [ 'полный_путь']);
вернуть ложь;
еще:
вернуть $ файлы;
ENDIF;
} // конец multip_upload ()
и это код в моем контроллере
if(!$s_thumb = multiple_upload('small_thumb', 'sources/images/', 'gif|jpg|jpeg|jpe|png', 1024)): //http://www.matisse.net/bitcalc/
$data['feedback'] = '<div class="error">Could not upload the small thumbnail!</div>';
$error = TRUE;
endif;
if(!$main_file = multiple_upload('main_file', 'sources/items/', 'zip', 307200)):
$data['feedback'] = '<div class="error">Could not upload the main file!</div>';
$error = TRUE;
endif;