2013-03-24 2 views
0

Я работаю над проектом, в котором пользователь может загружать файлы, которые он использует для веб-разработки в интерфейсе, и показывает, как работа, проделанная им, выглядит в браузере. Для этого я прошу пользователя загрузить проект с помощью html-файла с именем test.html. Я использую codeigniter для этой цели.Загрузка изображений динамически в codeigniter с помощью ID

Я завершил процесс загрузки и записи информации в таблицах, но я застрял в том, как предоставить ссылку, когда файл завершил загрузку ... i.e. У меня есть контроллер загрузки следующим образом:

<?php class Main extends CI_Controller { 
    //{construct and all the parts} 
//upload function 
function site_pages(){ 
$this->load->view('header'); $this->load->view('nav'); $this->load->view('test.html'); 
     } 
function do_upload(){ 
    .....code for file upload.... 
...update the database with the folder_id... 
} 

Однако после того, как это делается, мне нужно предоставить ссылку на пользователя, т.е. формы

<a href="<?php echo base_url();?>/main/site_pages/folder_id/test.html" > 

я застрял на том, как создать этот идентификатор в этой форме и как я могу загрузить файл test.html в определенном виде в контроллере

ответ

1

Вы можете создать контроллер для этой цели и использовать этот контроллер для чтения загруженных html-файлов. После того, как вы прочитаете файл, вы можете вывести его из контроллера

Вы можете сопоставить имя файла с идентификатором и использовать этот идентификатор для идентификации каждого файла. вы можете переименовать html-файл из form.html в 2335332.html, а затем использовать этот id в качестве параметра для чтения файла из каталога.

Вот как вы можете читать файлы.

// segment 3 will have parameter passed: 2335332 
$file_name=$this->uri->segment(3)."html"; 

// you should check in this point weather this file exists. 

$this->load->helper(‘file’); 

//read a file 
$data = read_file('./path_to/to/'.$file_name.'.html'); 
// do javascript/php/other cleanup on $data 

На данный момент у вас есть HTML-код, и вы можете вывести его

$this->output->set_output($data); 

Но я должен предупредить вас, что вы должны очистить загруженные HTML-файлы для возможного кода JavaScript/PHP, как пользователь может exploid вы система.

Удачи.

Редактировать

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

<a href="<?php echo base_url();?>user/site_pages/2335332">Link to your page</a> 

Предполагая, что ваш код внутри site_pages() функция контроллера: пользователь.

+0

Я получил то, что вы говорите, но хочу, чтобы загрузить несколько html-страниц, которые были загружены с помощью одного контроллера. для этого мне нужно передать параметр в виде id на контроллер, и он загрузит соответствующую ему html-страницу ..... Думаю, мне нужен remap .. – user1978166

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