2016-02-03 111 views
0

我想從目錄中讀取文件列表,格式爲field1_field2_field3.pdf。我想炸開它並填充表格並對其進行分頁。不過,我碰到了一個碰撞。到目前爲止,我可以用'name.pdf'格式讀取目錄中的所有文件。但是,當我爆炸名稱時,只有一個出現。接下來的事情是我不知道如何對結果進行分頁。無法查看超過1個文件

這是我的代碼

查看

<tbody> 
<tr> 
<td><?php echo $firstname; ?></td> 
<td><?php echo $product; ?></td> 
<td><?php echo $policyno; ?></td> 
</tr> 
</tbody> 

控制器

$this->load->helper('directory'); 
    $map = directory_map('./assets/data/'); 
    $nric = $this->session->userdata('nric'); 
    foreach($map as $row) 
    { 
     $separate = explode('_',$row); 
     $data = array( 
     'firstname' => $separate[0], 
     'product' => $separate[1], 
     'policyno' => substr($separate[2],0,strlen($separate[2])-4) 
     ); 

    } 

    $this->load->view('includes/user/header'); 
    $this->load->view('user/statements',$data); 
    $this->load->view('includes/user/footer'); 

請幫助。

+0

請告訴我是該文件的確切名稱?此外,讀取文件系統的最簡單方法是使用遞歸,除非您確定要讀取的路徑中沒有嵌套文件夾。 –

+0

這是一個名字列表,因此name_type_number.pdf – JianYA

+0

你有什麼錯誤嗎? –

回答

0

嘗試先刪除擴展名。

編輯: 我一開始並沒有注意到,但是您每次迭代時都會爲數據分配一個新數組。

試試這樣說:

$this->load->helper('directory'); 
$map = directory_map('./assets/data/'); 
$nric = $this->session->userdata('nric'); 
foreach($map as $row) 
{ 
    $separate = explode('_',trim($row,".pdf")); 
    $data['data'][] = array( 
    'firstname' => $separate[0], 
    'product' => $separate[1], 
    'policyno' => substr($separate[2],0,strlen($separate[2])-4) 
    ); 

} 

$this->load->view('includes/user/header'); 
$this->load->view('user/statements',$data); 
$this->load->view('includes/user/footer'); 

對於您的觀點工作,你需要遍歷數據數組,像這樣:

<tbody> 
<?php foreach($data as $file): ?> 
<tr> 
<td><?php echo $file['firstname']; ?></td> 
<td><?php echo $file['product']; ?></td> 
<td><?php echo $file['policyno']; ?></td> 
</tr> 
<?php endforeach; ?> 
</tbody> 
+0

最後一個文件是唯一顯示。第一個失蹤。 – JianYA

+0

@JianYA查看我的編輯 –

+0

恩..如何更改我的視圖?對不起,我不是很熟悉這個。如果我將[]添加到數據中,我的當前變量將導致錯誤 – JianYA