Хеш-таблицы с помощью VLists

По некоторым причинам последовательные вызовы функции do_upload не работают. Он придерживается первого имени файла, установленного первым вызовом функции

$small_photo_url  = $this->upload_photo('picture_small',  $this->next_id.'_small ');
$medium_photo_url = $this->upload_photo('picture_medium', $this->next_id.'_medium');
$large_photo_url  = $this->upload_photo('picture_large',  $this->next_id.'_large ');

Все имена файлов будут «00001_small», «00001_small1», «00001_small2» при следующих конфигурациях

function upload_photo($field_name, $filename)
{
    $config['upload_path'] = 'Public/uploads/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '1024';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';
    $config['file_name'] = $filename;

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

    if ( ! $this->upload->do_upload())...

Я думаю, это потому, что эта строка не работает во второй раз, когда вы ее называете. Он не устанавливает конфигурации снова

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

================================= ============================================== Решение проблемы, возникающей при последовательных вызовах функции do_upload :

// re-initialize upload library
$this->upload->initialize($config);
5
задан Quinn Taylor 10 July 2009 в 18:11
поделиться

2 ответа

Я просмотрел эту статью, и она кажется очень предварительной. Тот факт, что более поздняя версия не была опубликована, а оригинал был опубликован в IFL (это совещание в стадии разработки), предполагает, что вы, возможно, зря тратите свое время.

4
ответ дан 14 December 2019 в 19:23
поделиться

Хммм, похоже, есть ряд проблем со структурами данных, предложенными в рассматриваемой статье.

Неожиданно, наивным спискам, упомянутым первыми, кажется, нужны уникальные ссылки, чтобы получить хоть что-нибудь, близкое к предлагаемым гарантиям времени. Вы по большей части теряете способность делить хвосты. Вы можете поделиться крошечными узлами в конце списка, но вам придется дублировать самый большой узел vlist в тот момент, когда вы добавляете что-то в cdr vlist, который все еще активен. Эта стоимость пропорциональна стоимости копирования всего списка.

С упомянутыми ниже 2-мерными модификациями он снова становится постоянным, но это довольно большая константа, поскольку вы заканчиваете, по крайней мере, копированием заголовка списка страниц (или, что еще хуже, vlist) и первой страницы в вашем списке.

Честно говоря, мне не показалось, что там есть функциональный хеш-список. Это была всего лишь краткая аннотация, которая, казалось, была прикручена к другой статье, не имеющей отношения к делу, без достаточно подробностей, чтобы понять, насколько она практична.

1
ответ дан 14 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: