显示CodeIgniter中文件夹的所有子文件夹

时间:2015-10-27 08:05:01

标签: codeigniter

我正在尝试在我的视图页面中显示我上传的内容。

我已将一些文件上传到我的资源文件夹。在这里,申请人(这里)有一个id,上传文件也有一个id。在上载期间,这些文档ID将以逗号插入数据库中。

上传的路径为./assets/uploads/applicant_id/document_id

我想显示此路径中的所有文件。问题是当我上传文档时,只显示其(上次上传的)文档文件。

       function index() 
{   
    $application_id=$this->session->userdata('application_id');
    $this->load->helper('directory');


    $document_details = $this->home_model->get_document_details(); 
    $$document_ids = $this->home_model->get_evidence_ids($application_id); 
    $$document_id= $evidence_ids->applicant_evidence_id;   
    $document= explode(',',$evidence_id);
    for($i=0; $i < count($evidence); $i++)
    {
        $uploaded_files = array();
        $uploaded_files = directory_map('./application/assets/uploads/'.$application_id.'/'.$document_id[$i]);
    }       

    $data=array(
    'document'=>$document,
    'document_details'=>$document_details,
    'page_name'=>'Home',
    'dashboard_index'=>1,
    'uploaded_files' =>$uploaded_files,
    'application_id'=>$application_id, 
    'head_extra'=>'<link rel="stylesheet" type="text/css" href="'.base_url().'application/assets/css/home.css"> ',
    'footer_extra'=>'',
    );    
    $this->load->view('header',$data);
    $this->load->view('index',$data);
    $this->load->view('footer',$data); 
}
function do_upload()
{    
    $evidence_id = $_POST['document_id'];    
    $application_id=$this->session->userdata('application_id');
    $this->load->library('upload');

    $files = $_FILES;
    $cpt = count($_FILES['userfile']['name']);
    for($i=0; $i<$cpt; $i++)
    {           
        $_FILES['userfile']['name']= $files['userfile']['name'][$i];
        $_FILES['userfile']['type']= $files['userfile']['type'][$i];
        $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
        $_FILES['userfile']['error']= $files['userfile']['error'][$i];
        $_FILES['userfile']['size']= $files['userfile']['size'][$i];    

        $this->upload->initialize($this->set_upload_options($document_id,$application_id));
        $this->upload->do_upload();
    }
    $evidence = $this->home_model->insert_evidence($application_id,$document_id);
    $success_message = "Document Uploaded.";
    $this->session->set_flashdata('success_message',$success_message);
    redirect(base_url().'home','refresh');
}
private function set_upload_options($document_id,$application_id)
{   

    if(!is_dir('./application/assets/uploads/'.$application_id.'/'.$document_id)) 
    {
        mkdir('./application/assets/uploads/'.$application_id.'/'.$document_id, 0777, TRUE);

    }
    $config = array();
    $config['upload_path'] = './application/assets/uploads/'.$application_id.'/'.$document_id;
    $config['allowed_types'] = 'jpg|png|bmp|jpeg|gif|vnd.ms-excel|vnd.openxmlformats-officedocument.spreadsheetml.sheet|csv|pdf';
    $config['max_size']      = '0';
    $config['overwrite']     = FALSE;

    return $config;
} 

查看

  <div class="portal-body">                             
                <?php $file_count = count($uploaded_files);    
                    for($i=0;$i<$file_count;$i++)
                    { ?>
                    <p><?php echo $uploaded_files[$i]; ?></p>   
                    <?php } ?>
            </div>

1 个答案:

答案 0 :(得分:0)

首先从数据库中获取图像 对于前。

$images = image1,image2,image3;
$newImages = explode(',',$images);

现在使用foreach循环

    foreach($newImages as $img)
    {
   //check for file type
                $name = $img; 
                    $info = new SplFileInfo($name);
                    $extension =  $info->getExtension();
                    //echo $extension;

    if($extension  == "jpg" || $extension  == "png" || $extension  == "gif" || $extension  == "jpeg") {
      <img src="<?php echo base_url('your file location/.$img');?>">;
    }else{

    show your file here
    }
    }

更多阅读本教程

http://w3code.in/2015/09/upload-file-using-codeigniter/

相关问题