2011-12-16 64 views
3

我已經在CodeIgniter根目錄中創建了一個上傳文件夾,它接受來自表單的所有上傳圖像。然後上傳路徑被髮送到數據庫。之後,我在查看頁面中從數據庫中檢索所有信息。我試圖讓所有圖片顯示在上傳的視圖頁上,但是上傳路徑添加了太多的URL。Uploadpath CodeIgniter

上傳的配置是這樣的:

$config = array(
     'upload_path' => './uploads/', 
     'allowed_types' => 'gif|jpg|png', 
     'max_size' => '6000', 
     'max_width' => '2068', 
     'max_height' => '1032', 
     'encrypt_name' => true, 
); 

和視圖頁面看起來是這樣的:

           <tr>     
               <td><img src="<?php echo $pet->filepath?   
                >" alt="pet photo"></img><br/></td> 
                <td><?php echo $pet->pet_name?><br/>  
        </td> 
                <td><?php echo $pet->species."  "; 
       ?></td> 
                <td><?php echo $pet->breed; ?></td> 
                <td><?php echo $pet->gender; ?></td> 
                <td><?php echo $pet->color; ?></td> 
                <td><?php echo $pet->comments; ?></td> 


              </tr> 

            <?php endforeach; ?> 

當我檢查圖像URL當我測試認爲它顯示爲: CodeIgniter_2.1.0/CodeIgniter_2.1.0/index.php/upload/uploads/beagle.jpg

但它需要是: 代碼Igniter_2.1.0/CodeIgniter_2.1.0/uploads/beagle.jpg

沒有人知道如何改變這?

回答

1

有一個容易遵循的教程here,解釋瞭如何創建一個URL重寫,刪除index.php。您可以編輯它是這樣的(未測試):

RewriteEngine on 
RewriteCond $1 !^CodeIgniter_2.1.0/CodeIgniter_2.1.0/(index\.php|uploads.*|robots\.txt).*$ 
RewriteRule ^(.*)$ ^CodeIgniter_2.1.0/CodeIgniter_2.1.0/index.php/$1 [L] 

那麼你應該(再次,未測試),能夠在CodeIgniter_2.1.0/CodeIgniter_2.1.0/uploads/beagle.jpg

編輯訪問圖像:woops,誤解了這個問題,你想CodeIgniter_2.1.0/CodeIgniter_2.1.0/index.php/upload/uploads/beagle.jpg - >CodeIgniter_2.1.0/CodeIgniter_2.1.0/uploads/beagle.jpg對不對?

在這種情況下,給這一個鏡頭:

RewriteEngine on 
RewriteRule ^.*/index.php/upload/uploads(.*)$ /CodeIgniter_2.1.0/CodeIgniter_2.1.0/uploads$1 [L] 

這就是說包含/index.php/upload/uploads應該重定向到/CodeIgniter_2.1.0/CodeIgniter_2.1.0/uploads/whatever

+0

任何URL做我只是複製和代碼直接粘貼進入視圖中的.htacess文件中? – webminer07 2011-12-16 17:37:31