2013-11-21 2 views
0

Я хочу загрузить мои файлы с зашифрованным именем с помощью CodeIgniter. Но я попробовать 2 варианта:Удалить расширение при загрузке файла в Codeigniter

$config['file_name'] = md5($id); 

Или:

$config['encrypt_name'] = TRUE; 

Обе работы, но у меня есть расширение файла в моем encripted имени. Можно ли удалить его при загрузке моего файла? Когда я вижу загрузочную системную библиотеку, везде используется файл $ file-> ext. Зачем ставить расширение файла в зашифрованном имени? Спасибо.

ответ

0

Там на самом деле гораздо более простой способ сделать это:

if ($this->upload->do_upload()) // If file was uploaded 
{   
    $data = $this->upload->data(); // Returns information about your uploaded file. 
    $new_name=md5($id); 
    $thumbnail = $new_name.$data['file_ext']; // Here it is 
} 
+0

Я хочу, чтобы удалить расширение в do_upload(). Я знаю, как получить его, но я хочу иметь загруженный файл с зашифрованным именем без расширения. –

+0

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

+0

Я думаю, что то же самое .. Я просто не понимаю, почему CodeIgniter поместил расширение в зашифрованное имя файла. –

0

Открыть system/libraries/Upload.php

удалите или закомментируйте этот код из do_upload функции

// If no extension was provided in the file_name config item, use the uploaded one 
if (strpos($this->_file_name_override, '.') === FALSE) 
{ 
    $this->file_name .= $this->file_ext; 
} 
else 
{ 
    // An extension was provided, let's have it! 
    $this->file_ext = $this->get_extension($this->_file_name_override); 
} 
Смежные вопросы